summaryrefslogtreecommitdiff
path: root/src/gc/env
diff options
context:
space:
mode:
authorJan Kotas <jkotas@microsoft.com>2015-12-08 16:13:30 -0800
committerJan Kotas <jkotas@microsoft.com>2015-12-08 16:20:30 -0800
commit81a569b456cb74c491bbfd18d882ddc00ab6ecd9 (patch)
tree9a74c09af60c35435b89a6e2db63926d579d93a4 /src/gc/env
parentd1633211ee01ed05f467cacd36418f313e7a3d71 (diff)
downloadcoreclr-81a569b456cb74c491bbfd18d882ddc00ab6ecd9.tar.gz
coreclr-81a569b456cb74c491bbfd18d882ddc00ab6ecd9.tar.bz2
coreclr-81a569b456cb74c491bbfd18d882ddc00ab6ecd9.zip
Update GC from CoreRT
https://github.com/dotnet/corert/tree/master/src/Native/gc 7be6983a6510ef00de78f4c1c8bf884a89e7c82a
Diffstat (limited to 'src/gc/env')
-rw-r--r--src/gc/env/gcenv.base.h11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/gc/env/gcenv.base.h b/src/gc/env/gcenv.base.h
index 57fbb0460b..5b8f5f7dd3 100644
--- a/src/gc/env/gcenv.base.h
+++ b/src/gc/env/gcenv.base.h
@@ -602,6 +602,8 @@ typedef void promote_func(PTR_PTR_Object, ScanContext*, uint32_t);
typedef void (CALLBACK *HANDLESCANPROC)(PTR_UNCHECKED_OBJECTREF pref, uintptr_t *pExtraInfo, uintptr_t param1, uintptr_t param2);
+typedef void enum_alloc_context_func(alloc_context*, void*);
+
class GCToEEInterface
{
public:
@@ -620,10 +622,7 @@ public:
//
// The stack roots enumeration callback
//
- static void ScanStackRoots(Thread * pThread, promote_func* fn, ScanContext* sc);
-
- // Optional static GC refs scanning for better parallelization of server GC marking
- static void ScanStaticGCRefsOpportunistically(promote_func* fn, ScanContext* sc);
+ static void GcScanRoots(promote_func* fn, int condemned, int max_gen, ScanContext* sc);
//
// Callbacks issues during GC that the execution engine can do its own bookeeping
@@ -655,12 +654,12 @@ public:
static void EnablePreemptiveGC(Thread * pThread);
static void DisablePreemptiveGC(Thread * pThread);
static void SetGCSpecial(Thread * pThread);
- static alloc_context * GetAllocContext(Thread * pThread);
static bool CatchAtSafePoint(Thread * pThread);
+ static alloc_context * GetAllocContext(Thread * pThread);
// ThreadStore functions
static void AttachCurrentThread(); // does not acquire thread store lock
- static Thread * GetThreadList(Thread * pThread);
+ static void GcEnumAllocContexts (enum_alloc_context_func* fn, void* param);
};
class FinalizerThread