summaryrefslogtreecommitdiff
path: root/src/gc/gcinterface.h
diff options
context:
space:
mode:
authorAditya Mandaleeka <adityam@microsoft.com>2017-03-23 16:23:05 -0700
committerAditya Mandaleeka <adityam@microsoft.com>2017-03-29 12:05:39 -0700
commit8d02c0786825a27d67fb2af150f751dbda360bef (patch)
treec702d97c98dbf10da04aa28e89f6a642898e261e /src/gc/gcinterface.h
parent066793782f1100b55cf092f50fa15d6901d6be75 (diff)
downloadcoreclr-8d02c0786825a27d67fb2af150f751dbda360bef.tar.gz
coreclr-8d02c0786825a27d67fb2af150f751dbda360bef.tar.bz2
coreclr-8d02c0786825a27d67fb2af150f751dbda360bef.zip
Create a GCHandleTable interface with Init/Shutdown.
Diffstat (limited to 'src/gc/gcinterface.h')
-rw-r--r--src/gc/gcinterface.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/gc/gcinterface.h b/src/gc/gcinterface.h
index 7aae605633..77425b1cc3 100644
--- a/src/gc/gcinterface.h
+++ b/src/gc/gcinterface.h
@@ -171,11 +171,12 @@ struct segment_info
class Object;
class IGCHeap;
+class IGCHandleTable;
// Initializes the garbage collector. Should only be called
// once, during EE startup. Returns true if the initialization
// was successful, false otherwise.
-bool InitializeGarbageCollector(IGCToCLR* clrToGC, IGCHeap **gcHeap, GcDacVars* gcDacVars);
+bool InitializeGarbageCollector(IGCToCLR* clrToGC, IGCHeap** gcHeap, IGCHandleTable** gcHandleTable, GcDacVars* gcDacVars);
// The runtime needs to know whether we're using workstation or server GC
// long before the GCHeap is created. This function sets the type of
@@ -384,6 +385,13 @@ typedef void (* record_surv_fn)(uint8_t* begin, uint8_t* end, ptrdiff_t reloc, v
typedef void (* fq_walk_fn)(bool, void*);
typedef void (* fq_scan_fn)(Object** ppObject, ScanContext *pSC, uint32_t dwFlags);
typedef void (* handle_scan_fn)(Object** pRef, Object* pSec, uint32_t flags, ScanContext* context, bool isDependent);
+class IGCHandleTable {
+public:
+
+ virtual bool Initialize() = 0;
+
+ virtual void Shutdown() = 0;
+};
// IGCHeap is the interface that the VM will use when interacting with the GC.
class IGCHeap {