diff options
author | Pat Gavlin <pagavlin@microsoft.com> | 2016-05-19 19:05:53 -0700 |
---|---|---|
committer | Pat Gavlin <pagavlin@microsoft.com> | 2016-05-19 19:05:53 -0700 |
commit | aa752704910dd2322be7733f0f648e3733522f42 (patch) | |
tree | 3d98bc47c3111d6d5be6bb4b629560c5129f40d5 /src/jit/unwindamd64.cpp | |
parent | c61b67485a363ee38e9882cc25d3a83f5239db49 (diff) | |
download | coreclr-aa752704910dd2322be7733f0f648e3733522f42.tar.gz coreclr-aa752704910dd2322be7733f0f648e3733522f42.tar.bz2 coreclr-aa752704910dd2322be7733f0f648e3733522f42.zip |
Add some quirk and versioning flags and change some preprocessor symbols into fields of CORINFO_EE_INFO.
The quirk flags--CORJIT_FLG2_JIT32_QUIRKS and CORJIT_FLG2_JIT64_QUIRKS--are passed by the EE to request that the JIT
generate appropriately compatible executable code. These flags are only passed on x86/Windows and x64/Desktop/Windows,
respectively.
Version numbers for GC and EH info have been added to CORINFO_EE_INFO. The EE sets these versions to indicate the
formats of the aforementioned data that it supports.
CORINFO_PAGE_SIZE and MAX_UNCHECKED_OFFSET_FOR_NULL_OBJECT have been converted to fields on CORINFO_EE_INFO.
[tfs-changeset: 1606533]
Diffstat (limited to 'src/jit/unwindamd64.cpp')
-rw-r--r-- | src/jit/unwindamd64.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/jit/unwindamd64.cpp b/src/jit/unwindamd64.cpp index 6a5b199a07..6c8833bfc0 100644 --- a/src/jit/unwindamd64.cpp +++ b/src/jit/unwindamd64.cpp @@ -104,7 +104,7 @@ UNATIVE_OFFSET Compiler::unwindGetCurrentOffset(FuncInfoDsc* func) void Compiler::unwindBegProlog() { #ifdef UNIX_AMD64_ABI - if ((opts.eeFlags & CORJIT_FLG_CFI_UNWIND) != 0) + if (generateCFIUnwindCodes()) { unwindBegPrologCFI(); } @@ -206,12 +206,12 @@ void Compiler::unwindEndEpilog() void Compiler::unwindPush(regNumber reg) { #ifdef UNIX_AMD64_ABI - if ((opts.eeFlags & CORJIT_FLG_CFI_UNWIND) != 0) + if (generateCFIUnwindCodes()) { unwindPushCFI(reg); } else -#endif +#endif // UNIX_AMD64_ABI { unwindPushWindows(reg); } @@ -287,7 +287,7 @@ void Compiler::unwindPushCFI(regNumber reg) void Compiler::unwindAllocStack(unsigned size) { #ifdef UNIX_AMD64_ABI - if ((opts.eeFlags & CORJIT_FLG_CFI_UNWIND) != 0) + if (generateCFIUnwindCodes()) { unwindAllocStackCFI(size); } @@ -361,7 +361,7 @@ void Compiler::unwindAllocStackCFI(unsigned size) void Compiler::unwindSetFrameReg(regNumber reg, unsigned offset) { #ifdef UNIX_AMD64_ABI - if ((opts.eeFlags & CORJIT_FLG_CFI_UNWIND) != 0) + if (generateCFIUnwindCodes()) { unwindSetFrameRegCFI(reg, offset); } @@ -444,7 +444,7 @@ void Compiler::unwindSetFrameRegCFI(regNumber reg, unsigned offset) void Compiler::unwindSaveReg(regNumber reg, unsigned offset) { #ifdef UNIX_AMD64_ABI - if ((opts.eeFlags & CORJIT_FLG_CFI_UNWIND) != 0) + if (generateCFIUnwindCodes()) { unwindSaveRegCFI(reg, offset); } @@ -775,7 +775,7 @@ void Compiler::unwindReserveFuncHelper(FuncInfoDsc* func, bool isHotCode) if (isHotCode) { #ifdef UNIX_AMD64_ABI - if ((opts.eeFlags & CORJIT_FLG_CFI_UNWIND) != 0) + if (generateCFIUnwindCodes()) { unwindCodeBytes = func->cfiCodes->size() * sizeof(CFI_CODE); } @@ -873,7 +873,7 @@ void Compiler::unwindEmitFuncHelper(FuncInfoDsc* func, void* pHotCode, void* pCo } #ifdef UNIX_AMD64_ABI - if ((opts.eeFlags & CORJIT_FLG_CFI_UNWIND) != 0) + if (generateCFIUnwindCodes()) { int size = func->cfiCodes->size(); if (size > 0) @@ -924,7 +924,7 @@ void Compiler::unwindEmitFuncHelper(FuncInfoDsc* func, void* pHotCode, void* pCo if (opts.dspUnwind) { #ifdef UNIX_AMD64_ABI - if ((opts.eeFlags & CORJIT_FLG_CFI_UNWIND) != 0) + if (generateCFIUnwindCodes()) { DumpCfiInfo(isHotCode, startOffset, endOffset, unwindCodeBytes, (const CFI_CODE * const)pUnwindBlock); } |