diff options
author | Pat Gavlin <pagavlin@microsoft.com> | 2016-01-20 13:44:43 -0800 |
---|---|---|
committer | Pat Gavlin <pagavlin@microsoft.com> | 2016-01-22 16:24:23 -0800 |
commit | 626e050f03bff854793798d7abc496621c05ce02 (patch) | |
tree | d670dbd840822dfc36cf69a3e7f6ec21ad6ebf64 /PATENTS.TXT | |
parent | 0f14640db10489f70f522436a764c4788db904ae (diff) | |
download | coreclr-626e050f03bff854793798d7abc496621c05ce02.tar.gz coreclr-626e050f03bff854793798d7abc496621c05ce02.tar.bz2 coreclr-626e050f03bff854793798d7abc496621c05ce02.zip |
Generate P/Invoke transitions for CoreRT.
This change adds support for CoreRT-style P/Invoke transitions
to RyuJIT. Instead of the usual inlined transition code, these
transitions are made up of calls to two new JIT helpers:
PInvokeTransitionFrame frame; // opaque local
CORINFO_HELP_INIT_PINVOKE_FRAME(&frame);
...
CORINFO_HELP_JIT_PINVOKE_BEGIN(&frame);
target(...);
CORINFO_HELP_JIT_PINVOKE_END(&frame);
...
The preemptive mode constraints apply between calls to
JIT_PINVOKE_BEGIN and JIT_PINVOKE_END: no managed references
may be live only in registers and managed references may not
be manipulated.
Diffstat (limited to 'PATENTS.TXT')
0 files changed, 0 insertions, 0 deletions