diff options
Diffstat (limited to 'src/gc/sample/gcenv.cpp')
-rw-r--r-- | src/gc/sample/gcenv.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/gc/sample/gcenv.cpp b/src/gc/sample/gcenv.cpp index f1d6cfad0f..2164fb0c5e 100644 --- a/src/gc/sample/gcenv.cpp +++ b/src/gc/sample/gcenv.cpp @@ -60,15 +60,11 @@ void GCToEEInterface::RestartEE(bool bFinishedGC) GCHeap::GetGCHeap()->SetGCInProgress(FALSE); } -void GCToEEInterface::ScanStackRoots(Thread * pThread, promote_func* fn, ScanContext* sc) +void GCToEEInterface::GcScanRoots(promote_func* fn, int condemned, int max_gen, ScanContext* sc) { // TODO: Implement - Scan stack roots on given thread } -void GCToEEInterface::ScanStaticGCRefsOpportunistically(promote_func* fn, ScanContext* sc) -{ -} - void GCToEEInterface::GcStartWork(int condemned, int max_gen) { } @@ -126,11 +122,16 @@ void GCToEEInterface::AttachCurrentThread() ThreadStore::AttachCurrentThread(); } -Thread * GCToEEInterface::GetThreadList(Thread * pThread) +void GCToEEInterface::GcEnumAllocContexts (enum_alloc_context_func* fn, void* param) { - return ThreadStore::GetThreadList(pThread); + Thread * pThread = NULL; + while ((pThread = ThreadStore::GetThreadList(pThread)) != NULL) + { + fn(pThread->GetAllocContext(), param); + } } + void FinalizerThread::EnableFinalization() { // Signal to finalizer thread that there are objects to finalize |