diff options
author | Gleb Balykov <g.balykov@samsung.com> | 2020-09-14 13:30:50 +0300 |
---|---|---|
committer | Alexander Soldatov/Platform Lab /SRR/Staff Engineer/Samsung Electronics <soldatov.a@samsung.com> | 2020-09-21 20:04:27 +0300 |
commit | 676b3e46459a5138d05ac31bb697a54a8a8f685c (patch) | |
tree | 9a5d32deb41da42d98bf125b6a1ec9dee8359ce8 /src/vm/precode.h | |
parent | 7a0186fe2611e00cd8019adced7af3a269e2e7f4 (diff) | |
download | coreclr-676b3e46459a5138d05ac31bb697a54a8a8f685c.tar.gz coreclr-676b3e46459a5138d05ac31bb697a54a8a8f685c.tar.bz2 coreclr-676b3e46459a5138d05ac31bb697a54a8a8f685c.zip |
[Tizen] Add RelativeFixupPrecode for arm64, which replaces FixupPrecode in FNV imagessubmit/tizen/20200921.230336accepted/tizen/unified/20200922.034817
Diffstat (limited to 'src/vm/precode.h')
-rw-r--r-- | src/vm/precode.h | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/src/vm/precode.h b/src/vm/precode.h index fe55d6f954..ba51f22256 100644 --- a/src/vm/precode.h +++ b/src/vm/precode.h @@ -25,6 +25,9 @@ enum PrecodeType { #ifdef HAS_FIXUP_PRECODE PRECODE_FIXUP = FixupPrecode::Type, #endif // HAS_FIXUP_PRECODE +#ifdef HAS_RELATIVE_FIXUP_PRECODE + PRECODE_RELATIVE_FIXUP = RelativeFixupPrecode::Type, +#endif // HAS_RELATIVE_FIXUP_PRECODE #ifdef HAS_THISPTR_RETBUF_PRECODE PRECODE_THISPTR_RETBUF = ThisPtrRetBufPrecode::Type, #endif // HAS_THISPTR_RETBUF_PRECODE @@ -70,6 +73,16 @@ private: } #endif // HAS_FIXUP_PRECODE +#ifdef HAS_RELATIVE_FIXUP_PRECODE + RelativeFixupPrecode* AsRelativeFixupPrecode() + { + LIMITED_METHOD_CONTRACT; + SUPPORTS_DAC; + + return dac_cast<PTR_RelativeFixupPrecode>(this); + } +#endif // HAS_RELATIVE_FIXUP_PRECODE + #ifdef HAS_THISPTR_RETBUF_PRECODE ThisPtrRetBufPrecode* AsThisPtrRetBufPrecode() { @@ -293,6 +306,9 @@ public: #ifdef HAS_FIXUP_PRECODE_CHUNKS _ASSERTE(t != PRECODE_FIXUP); #endif +#ifdef HAS_RELATIVE_FIXUP_PRECODE + _ASSERTE(t != PRECODE_RELATIVE_FIXUP); +#endif // HAS_RELATIVE_FIXUP_PRECODE return ALIGN_UP(SizeOf(t), AlignOf(t)); } @@ -331,21 +347,6 @@ public: #ifdef DACCESS_COMPILE void EnumMemoryRegions(CLRDataEnumMemoryFlags flags); #endif - -#ifdef HAS_FIXUP_PRECODE_CHUNKS - static DWORD GetOffsetOfBase(PrecodeType t, DWORD count) - { - assert(t == PRECODE_FIXUP); - return (DWORD)(count * sizeof(FixupPrecode)); - } - - static DWORD GetOffset(PrecodeType t, DWORD index, DWORD count) - { - assert(t == PRECODE_FIXUP); - assert(index < count); - return (DWORD)((count - index - 1)* sizeof(FixupPrecode)); - } -#endif }; #endif // __PRECODE_H__ |