diff options
Diffstat (limited to 'src/gc/sample/gcenv.ee.cpp')
-rw-r--r-- | src/gc/sample/gcenv.ee.cpp | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/src/gc/sample/gcenv.ee.cpp b/src/gc/sample/gcenv.ee.cpp index e95a78dc48..fa6efbf2d6 100644 --- a/src/gc/sample/gcenv.ee.cpp +++ b/src/gc/sample/gcenv.ee.cpp @@ -15,6 +15,8 @@ int32_t g_TrapReturningThreads; EEConfig * g_pConfig; +gc_alloc_context g_global_alloc_context; + bool CLREventStatic::CreateManualEventNoThrow(bool bInitialState) { m_hEvent = CreateEventW(NULL, TRUE, bInitialState, NULL); @@ -135,7 +137,7 @@ void ThreadStore::AttachCurrentThread() void GCToEEInterface::SuspendEE(SUSPEND_REASON reason) { - g_theGCHeap->SetGCInProgress(TRUE); + g_theGCHeap->SetGCInProgress(true); // TODO: Implement } @@ -144,7 +146,7 @@ void GCToEEInterface::RestartEE(bool bFinishedGC) { // TODO: Implement - g_theGCHeap->SetGCInProgress(FALSE); + g_theGCHeap->SetGCInProgress(false); } void GCToEEInterface::GcScanRoots(promote_func* fn, int condemned, int max_gen, ScanContext* sc) @@ -263,6 +265,32 @@ void GCToEEInterface::EnableFinalization(bool foundFinalizers) // TODO: Implement for finalization } +void GCToEEInterface::HandleFatalError(unsigned int exitCode) +{ + abort(); +} + +bool GCToEEInterface::ShouldFinalizeObjectForUnload(AppDomain* pDomain, Object* obj) +{ + return true; +} + +bool GCToEEInterface::ForceFullGCToBeBlocking() +{ + return false; +} + +bool GCToEEInterface::EagerFinalized(Object* obj) +{ + // The sample does not finalize anything eagerly. + return false; +} + +MethodTable* GCToEEInterface::GetFreeObjectMethodTable() +{ + return g_pFreeObjectMethodTable; +} + bool IsGCSpecialThread() { // TODO: Implement for background GC |