diff options
author | Sean Gillespie <sean@swgillespie.me> | 2016-12-10 17:50:06 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-10 17:50:06 -0800 |
commit | 04d6bd105ade5f6189a15a6dbb59b082613429a1 (patch) | |
tree | 9209ba4b53eca61cad3a2fc94c585b6a66ff4618 /src/vm/gcheaputilities.cpp | |
parent | d42b3935eaa056712e09a0f83b38e211bdb451d9 (diff) | |
download | coreclr-04d6bd105ade5f6189a15a6dbb59b082613429a1.tar.gz coreclr-04d6bd105ade5f6189a15a6dbb59b082613429a1.tar.bz2 coreclr-04d6bd105ade5f6189a15a6dbb59b082613429a1.zip |
Local GC: Decouple write barrier operations between the GC and EE (#8568)
* Decouple write barrier operations between the GC and EE
* Address code review feedback
* Address code review feedback
* Repair the standalone GC build
Diffstat (limited to 'src/vm/gcheaputilities.cpp')
-rw-r--r-- | src/vm/gcheaputilities.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/vm/gcheaputilities.cpp b/src/vm/gcheaputilities.cpp index ceadb9ea42..ac24fa34ce 100644 --- a/src/vm/gcheaputilities.cpp +++ b/src/vm/gcheaputilities.cpp @@ -5,5 +5,15 @@ #include "common.h" #include "gcheaputilities.h" +// These globals are variables used within the GC and maintained +// by the EE for use in write barriers. It is the responsibility +// of the GC to communicate updates to these globals to the EE through +// GCToEEInterface::StompWriteBarrierResize and GCToEEInterface::StompWriteBarrierEphemeral. +GPTR_IMPL_INIT(uint32_t, g_card_table, nullptr); +GPTR_IMPL_INIT(uint8_t, g_lowest_address, nullptr); +GPTR_IMPL_INIT(uint8_t, g_highest_address, nullptr); +uint8_t* g_ephemeral_low = (uint8_t*)1; +uint8_t* g_ephemeral_high = (uint8_t*)~0; + // This is the global GC heap, maintained by the VM. GPTR_IMPL(IGCHeap, g_pGCHeap);
\ No newline at end of file |