Open lambdageek opened 3 years ago
Tagging subscribers to this area: @CoffeeFlux See info in area-owners.md if you want to be subscribed.
Author: | lambdageek |
---|---|
Assignees: | - |
Labels: | `area-VM-meta-mono` |
Milestone: | - |
@lambdageek we scan for pinvokes too, does this not already work?
yea it probably works. but we haven't really validated it. Also at some point we added qcall registration but I don't think it's used at all. I think we just use __Internal
See, for example, https://github.com/dotnet/runtime/pull/53500/files#diff-8fa4a2213aa9c853fd1afd18bf447a57ba660d5ef23e04525c614594f8942e89 where the mono EventPipe component adds icalls. There is a lot of boilerplate: adding the methods to icall-def-netcore.h, adding methods to the component vtable, implementing stub methods in the comoponent stub, adding boilerplate icall implementations that call the component methods.
Maybe we ought to have a way for a component to provide the runtime with a list of qcall implementations.
(Using qcalls would be better because then we can share more managed code with CoreCLR; but icalls would be ok, too).
Potential complications: