summaryrefslogtreecommitdiff
path: root/src/gc/sample/gcenv.ee.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gc/sample/gcenv.ee.cpp')
-rw-r--r--src/gc/sample/gcenv.ee.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/gc/sample/gcenv.ee.cpp b/src/gc/sample/gcenv.ee.cpp
index 20be78cc93..9a4e9c9a74 100644
--- a/src/gc/sample/gcenv.ee.cpp
+++ b/src/gc/sample/gcenv.ee.cpp
@@ -319,9 +319,16 @@ bool GCToEEInterface::WasCurrentThreadCreatedByGC()
return false;
}
+static MethodTable freeObjectMT;
+
MethodTable* GCToEEInterface::GetFreeObjectMethodTable()
{
- return g_pFreeObjectMethodTable;
+ //
+ // Initialize free object methodtable. The GC uses a special array-like methodtable as placeholder
+ // for collected free space.
+ //
+ freeObjectMT.InitializeFreeObject();
+ return &freeObjectMT;
}
bool GCToEEInterface::CreateThread(void (*threadStart)(void*), void* arg, bool is_suspendable, const char* name)
@@ -349,7 +356,7 @@ void *GCToEEInterface::GetAppDomainAtIndex(uint32_t appDomainIndex)
bool GCToEEInterface::AppDomainCanAccessHandleTable(uint32_t appDomainID)
{
- return false;
+ return true;
}
uint32_t GCToEEInterface::GetIndexOfAppDomainBeingUnloaded()