summaryrefslogtreecommitdiff
path: root/packaging/0026-Move-ITEM_DICTIONARY-and-ITEM_VTABLE_CHUNK-to-separa.patch
blob: f89e3864455e2be3a75cb40553fc0f92d1ae8767 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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