diff options
author | Egor Chesakov <Egor.Chesakov@microsoft.com> | 2018-06-25 12:25:49 -0700 |
---|---|---|
committer | Jan Kotas <jkotas@microsoft.com> | 2018-06-25 12:25:49 -0700 |
commit | 030a3ea9b8dbeae89c90d34441d4d9a1cf4a7de6 (patch) | |
tree | c40a2707616e413f1d8d2c65253430af6f292f80 /src/vm/methodtablebuilder.cpp | |
parent | df78ae72d5cf3f2c2dbe4ff972732d418497f9bc (diff) | |
download | coreclr-030a3ea9b8dbeae89c90d34441d4d9a1cf4a7de6.tar.gz coreclr-030a3ea9b8dbeae89c90d34441d4d9a1cf4a7de6.tar.bz2 coreclr-030a3ea9b8dbeae89c90d34441d4d9a1cf4a7de6.zip |
Cross-bitness regular and thread static fields offsets (#18636)
* Define OFFSETOF__DomainLocalModule__m_pDataBlob_ OFFSETOF__DomainLocalModule__NormalDynamicEntry__m_pDataBlob in src/vm/appdomain.hpp
* Define OFFSETOF__ThreadLocalModule__m_pDataBlob OFFSETOF__ThreadLocalModule__DynamicEntry__m_pDataBlob in src/vm/threadstatics.h
* Add assertions and offsets for dynamically allocated statics
* Compensate OffsetOfDataBlob difference
* Check target specific offsets in assertions in src/vm/methodtablebuilder.cpp
Diffstat (limited to 'src/vm/methodtablebuilder.cpp')
-rw-r--r-- | src/vm/methodtablebuilder.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vm/methodtablebuilder.cpp b/src/vm/methodtablebuilder.cpp index bae784fc4f..e45b2b9175 100644 --- a/src/vm/methodtablebuilder.cpp +++ b/src/vm/methodtablebuilder.cpp @@ -7719,7 +7719,7 @@ VOID MethodTableBuilder::PlaceRegularStaticFields() if (bmtProp->fDynamicStatics) { _ASSERTE(dwNonGCOffset == 0 || // no statics at all - dwNonGCOffset == DomainLocalModule::DynamicEntry::GetOffsetOfDataBlob()); // We need space to point to the GC statics + dwNonGCOffset == OFFSETOF__DomainLocalModule__NormalDynamicEntry__m_pDataBlob); // We need space to point to the GC statics bmtProp->dwNonGCRegularStaticFieldBytes = dwCumulativeStaticFieldPos; } else @@ -7841,7 +7841,7 @@ VOID MethodTableBuilder::PlaceThreadStaticFields() if (bmtProp->fDynamicStatics) { _ASSERTE(dwNonGCOffset == 0 || // no thread statics at all - dwNonGCOffset == ThreadLocalModule::DynamicEntry::GetOffsetOfDataBlob()); // We need space to point to the GC statics + dwNonGCOffset == OFFSETOF__ThreadLocalModule__DynamicEntry__m_pDataBlob); // We need space to point to the GC statics bmtProp->dwNonGCThreadStaticFieldBytes = dwCumulativeStaticFieldPos; } else |