diff options
Diffstat (limited to 'packaging/0026-Move-ITEM_DICTIONARY-and-ITEM_VTABLE_CHUNK-to-separa.patch')
-rw-r--r-- | packaging/0026-Move-ITEM_DICTIONARY-and-ITEM_VTABLE_CHUNK-to-separa.patch | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/packaging/0026-Move-ITEM_DICTIONARY-and-ITEM_VTABLE_CHUNK-to-separa.patch b/packaging/0026-Move-ITEM_DICTIONARY-and-ITEM_VTABLE_CHUNK-to-separa.patch new file mode 100644 index 0000000000..f89e386445 --- /dev/null +++ b/packaging/0026-Move-ITEM_DICTIONARY-and-ITEM_VTABLE_CHUNK-to-separa.patch @@ -0,0 +1,64 @@ +From ca8da76187c4470b951dc9a1971b1918e99242bf Mon Sep 17 00:00:00 2001 +From: Gleb Balykov <g.balykov@samsung.com> +Date: Fri, 23 Jun 2017 15:58:45 +0300 +Subject: [PATCH 26/32] Move ITEM_DICTIONARY and ITEM_VTABLE_CHUNK to separate + subsection of SECTION_Readonly + +--- + src/inc/corcompile.h | 1 + + src/vm/dataimage.cpp | 6 ++++-- + src/zap/zapimage.cpp | 1 + + 3 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/src/inc/corcompile.h b/src/inc/corcompile.h +index 68eefc1..17fdfcb 100644 +--- a/src/inc/corcompile.h ++++ b/src/inc/corcompile.h +@@ -1329,6 +1329,7 @@ class ICorCompilePreloader + CORCOMPILE_SECTION(READONLY_HOT) \ + CORCOMPILE_SECTION(READONLY_WARM) \ + CORCOMPILE_SECTION(READONLY_COLD) \ ++ CORCOMPILE_SECTION(READONLY_VCHUNKS_AND_DICTIONARY) \ + CORCOMPILE_SECTION(CLASS_COLD) \ + CORCOMPILE_SECTION(CROSS_DOMAIN_INFO) \ + CORCOMPILE_SECTION(METHOD_PRECODE_COLD) \ +diff --git a/src/vm/dataimage.cpp b/src/vm/dataimage.cpp +index fc584d7..4e276fe 100644 +--- a/src/vm/dataimage.cpp ++++ b/src/vm/dataimage.cpp +@@ -738,9 +738,7 @@ FORCEINLINE static CorCompileSection GetSectionForNodeType(ZapNodeType type) + + // SECTION_READONLY_WARM + case NodeTypeForItemKind(DataImage::ITEM_METHOD_TABLE): +- case NodeTypeForItemKind(DataImage::ITEM_VTABLE_CHUNK): + case NodeTypeForItemKind(DataImage::ITEM_INTERFACE_MAP): +- case NodeTypeForItemKind(DataImage::ITEM_DICTIONARY): + case NodeTypeForItemKind(DataImage::ITEM_DISPATCH_MAP): + case NodeTypeForItemKind(DataImage::ITEM_GENERICS_STATIC_FIELDDESCS): + case NodeTypeForItemKind(DataImage::ITEM_GC_STATIC_HANDLES_COLD): +@@ -750,6 +748,10 @@ FORCEINLINE static CorCompileSection GetSectionForNodeType(ZapNodeType type) + case NodeTypeForItemKind(DataImage::ITEM_STORED_METHOD_SIG_READONLY_WARM): + return CORCOMPILE_SECTION_READONLY_WARM; + ++ case NodeTypeForItemKind(DataImage::ITEM_DICTIONARY): ++ case NodeTypeForItemKind(DataImage::ITEM_VTABLE_CHUNK): ++ return CORCOMPILE_SECTION_READONLY_VCHUNKS_AND_DICTIONARY; ++ + // SECTION_CLASS_COLD + case NodeTypeForItemKind(DataImage::ITEM_PARAM_TYPEDESC): + case NodeTypeForItemKind(DataImage::ITEM_ARRAY_TYPEDESC): +diff --git a/src/zap/zapimage.cpp b/src/zap/zapimage.cpp +index 61cf099..4c26946 100644 +--- a/src/zap/zapimage.cpp ++++ b/src/zap/zapimage.cpp +@@ -572,6 +572,7 @@ void ZapImage::AllocateVirtualSections() + #endif // defined(WIN64EXCEPTIONS) + + m_pPreloadSections[CORCOMPILE_SECTION_READONLY_WARM] = NewVirtualSection(pTextSection, IBCProfiledSection | WarmRange | ReadonlySection, sizeof(TADDR)); ++ m_pPreloadSections[CORCOMPILE_SECTION_READONLY_VCHUNKS_AND_DICTIONARY] = NewVirtualSection(pTextSection, IBCProfiledSection | WarmRange | ReadonlySection, sizeof(TADDR)); + + // + // GC Info for methods which were not touched in profiling +-- +2.7.4 + |