diff options
Diffstat (limited to 'src/vm/precode.h')
-rw-r--r-- | src/vm/precode.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/vm/precode.h b/src/vm/precode.h index ba51f22256..e8a0d5d01e 100644 --- a/src/vm/precode.h +++ b/src/vm/precode.h @@ -19,6 +19,9 @@ typedef DPTR(class Precode) PTR_Precode; enum PrecodeType { PRECODE_INVALID = InvalidPrecode::Type, PRECODE_STUB = StubPrecode::Type, +#ifdef HAS_RELATIVE_STUB_PRECODE + PRECODE_RELATIVE_STUB = RelativeStubPrecode::Type, +#endif // HAS_RELATIVE_STUB_PRECODE #ifdef HAS_NDIRECT_IMPORT_PRECODE PRECODE_NDIRECT_IMPORT = NDirectImportPrecode::Type, #endif // HAS_NDIRECT_IMPORT_PRECODE @@ -49,6 +52,16 @@ class Precode { return dac_cast<PTR_StubPrecode>(this); } +#ifdef HAS_RELATIVE_STUB_PRECODE + RelativeStubPrecode* AsRelativeStubPrecode() + { + LIMITED_METHOD_CONTRACT; + SUPPORTS_DAC; + + return dac_cast<PTR_RelativeStubPrecode>(this); + } +#endif // HAS_RELATIVE_STUB_PRECODE + #ifdef HAS_NDIRECT_IMPORT_PRECODE public: // Fake precodes has to be exposed @@ -309,6 +322,9 @@ public: #ifdef HAS_RELATIVE_FIXUP_PRECODE _ASSERTE(t != PRECODE_RELATIVE_FIXUP); #endif // HAS_RELATIVE_FIXUP_PRECODE +#ifdef HAS_RELATIVE_STUB_PRECODE + _ASSERTE(t != PRECODE_RELATIVE_STUB); +#endif // HAS_RELATIVE_STUB_PRECODE return ALIGN_UP(SizeOf(t), AlignOf(t)); } |