diff options
author | Michal Strehovský <MichalStrehovsky@users.noreply.github.com> | 2017-06-02 09:25:48 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-02 09:25:48 -0700 |
commit | 41761e0deeb19a6d166a8ab432b7edacd5fc89df (patch) | |
tree | e44b6838735cd60648842d358d531210db149c9d /src/inc | |
parent | 3a6895ebcc29e0ad84bef61a216433e99fda5f6c (diff) | |
download | coreclr-41761e0deeb19a6d166a8ab432b7edacd5fc89df.tar.gz coreclr-41761e0deeb19a6d166a8ab432b7edacd5fc89df.tar.bz2 coreclr-41761e0deeb19a6d166a8ab432b7edacd5fc89df.zip |
Add support for flat vtables in RyuJIT (#12041)
CoreRT needs one less indirection to get to the virtual method.
On CoreCLR a virtual method call resolution goes like:
```
this -> MethodTable -> chunk(?) -> slot
```
On CoreRT, it's more flat:
```
this -> EEType -> slot
```
Diffstat (limited to 'src/inc')
-rw-r--r-- | src/inc/corinfo.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/inc/corinfo.h b/src/inc/corinfo.h index 2495de2516..2117d4e18f 100644 --- a/src/inc/corinfo.h +++ b/src/inc/corinfo.h @@ -1513,7 +1513,8 @@ enum CORINFO_CALL_KIND CORINFO_VIRTUALCALL_VTABLE }; - +// Indicates that the CORINFO_VIRTUALCALL_VTABLE lookup needn't do a chunk indirection +#define CORINFO_VIRTUALCALL_NO_CHUNK 0xFFFFFFFF enum CORINFO_THIS_TRANSFORM { |