summaryrefslogtreecommitdiff
path: root/clrdefinitions.cmake
diff options
context:
space:
mode:
authorGleb Balykov <g.balykov@samsung.com>2018-06-29 17:25:17 +0300
committerGleb Balykov <g.balykov@samsung.com>2018-09-18 15:49:14 +0300
commitef670ab6e5db223d8b31738b02bb763d3e135ad2 (patch)
tree78bcdf1c6087c4fd04b333468c7be80b4111a5ac /clrdefinitions.cmake
parentd424bb734ce61bc98d1cfab815c48c5ad1d01d5e (diff)
downloadcoreclr-ef670ab6e5db223d8b31738b02bb763d3e135ad2.tar.gz
coreclr-ef670ab6e5db223d8b31738b02bb763d3e135ad2.tar.bz2
coreclr-ef670ab6e5db223d8b31738b02bb763d3e135ad2.zip
Remove relocations for vtable chunks (#17147)
* Separate sections READONLY_VCHUNKS and READONLY_DICTIONARY * Remove relocations for second-level indirection of Vtable in case FEATURE_NGEN_RELOCS_OPTIMIZATIONS is enabled. Introduce FEATURE_NGEN_RELOCS_OPTIMIZATIONS, under which NGEN specific relocations optimizations are enabled * Replace push/pop of R11 in stubs with - str/ldr of R4 in space reserved in epilog for non-tail calls - usage of R4 with hybrid-tail calls (same as for EmitShuffleThunk) * Replace push/pop of R11 for function epilog with usage of LR as helper register right before its restore from stack
Diffstat (limited to 'clrdefinitions.cmake')
-rw-r--r--clrdefinitions.cmake3
1 files changed, 3 insertions, 0 deletions
diff --git a/clrdefinitions.cmake b/clrdefinitions.cmake
index 66490e5b69..d21fb85524 100644
--- a/clrdefinitions.cmake
+++ b/clrdefinitions.cmake
@@ -195,6 +195,9 @@ add_definitions(-DFEATURE_STRONGNAME_MIGRATION)
if (CLR_CMAKE_PLATFORM_UNIX OR CLR_CMAKE_TARGET_ARCH_ARM64)
add_definitions(-DFEATURE_STUBS_AS_IL)
endif ()
+if (FEATURE_NGEN_RELOCS_OPTIMIZATIONS)
+ add_definitions(-DFEATURE_NGEN_RELOCS_OPTIMIZATIONS)
+endif(FEATURE_NGEN_RELOCS_OPTIMIZATIONS)
add_definitions(-DFEATURE_SVR_GC)
add_definitions(-DFEATURE_SYMDIFF)
add_definitions(-DFEATURE_TIERED_COMPILATION)