You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For icalls, Mono can optionally be compiled wihout the big icall table in icall-def-netcore.h. Instead, the icall table is defined by a special IL Linker step based on the icalls that are actually reachable from managed code.
This allows the native linker to tree-shake the native code and remove unused icalls. (Otherwise every icall looks like it is referenced from the big native function pointer array that is defined based on the contents of icall-def-netcore).
As we migrate to using QCalls more, we should enhance that infrastructure to also allow the qcall tables to be created based on use, too.
The text was updated successfully, but these errors were encountered:
Tagging subscribers to this area: @directhex
See info in area-owners.md if you want to be subscribed.
Issue Details
For icalls, Mono can optionally be compiled wihout the big icall table in icall-def-netcore.h. Instead, the icall table is defined by a special IL Linker step based on the icalls that are actually reachable from managed code.
This allows the native linker to tree-shake the native code and remove unused icalls. (Otherwise every icall looks like it is referenced from the big native function pointer array that is defined based on the contents of icall-def-netcore).
As we migrate to using QCalls more, we should enhance that infrastructure to also allow the qcall tables to be created based on use, too.
Author:
lambdageek
Assignees:
-
Labels:
area-Infrastructure-mono
Milestone:
7.0.0
ghost
added
the
untriaged
New issue has not been triaged by the area owner
label
Aug 18, 2021
For icalls, Mono can optionally be compiled wihout the big icall table in
icall-def-netcore.h
. Instead, the icall table is defined by a special IL Linker step based on the icalls that are actually reachable from managed code.This allows the native linker to tree-shake the native code and remove unused icalls. (Otherwise every icall looks like it is referenced from the big native function pointer array that is defined based on the contents of icall-def-netcore).
As we migrate to using QCalls more, we should enhance that infrastructure to also allow the qcall tables to be created based on use, too.
The text was updated successfully, but these errors were encountered: