summaryrefslogtreecommitdiff
path: root/packaging/0026-Move-ITEM_DICTIONARY-and-ITEM_VTABLE_CHUNK-to-separa.patch
diff options
context:
space:
mode:
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.patch64
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 0000000..f89e386
--- /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
+