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.cpp32
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