summaryrefslogtreecommitdiff
path: root/src/gc/gcimpl.h
diff options
context:
space:
mode:
authorSean Gillespie <sean@swgillespie.me>2017-04-14 09:51:10 -0700
committerGitHub <noreply@github.com>2017-04-14 09:51:10 -0700
commit13812bfd0f6eda442c944f416e8c871b18d99e3f (patch)
treed8f51b0fc4208e097fcbc82b3f385ebc8b45ab9a /src/gc/gcimpl.h
parent4c6f23eb3d1ee0e39d6df44ed573f6a0132f71fc (diff)
downloadcoreclr-13812bfd0f6eda442c944f416e8c871b18d99e3f.tar.gz
coreclr-13812bfd0f6eda442c944f416e8c871b18d99e3f.tar.bz2
coreclr-13812bfd0f6eda442c944f416e8c871b18d99e3f.zip
[Local GC] Move operations on CLREventStatic to the EE interface (#10813)
* [Local GC] Move operations on CLREventStatic to the EE and add their functionality to the interface * Fix a missed case * Split GetWaitForGCEvent into two smaller interface methods to avoid exposing the event itself on the interface * Initial implementation for Unix * Complete unix implementation * Make it work on Windows * Remove redudant methods from GCToEEInterface * Fix the Linux build * First part of code review feedback: make GCEvent dispatch statically (Windows) * Second part of code review feedback: make GCEvent dispatch statically (Unix) * Standardize implementation across Windows/Unix (apparently MSVC is more lenient about constructor names than clang) * Address code review feedback: Add Create*Event methods back onto GCEvent and remove them from GCToOSInterface * Address code review feedback: remove a dead define * Remove a bad comment, remove an unnecessary friend class, fix some formatting issues * Fix an issue when initializing a GCEvent on Linux (should not be allocating an Impl in the constructor) * Fix the same issue on Windows (less bad, just leaks memory instead of asserting)
Diffstat (limited to 'src/gc/gcimpl.h')
-rw-r--r--src/gc/gcimpl.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/gc/gcimpl.h b/src/gc/gcimpl.h
index 2a51d477b0..8ac16c5107 100644
--- a/src/gc/gcimpl.h
+++ b/src/gc/gcimpl.h
@@ -6,8 +6,6 @@
#ifndef GCIMPL_H_
#define GCIMPL_H_
-#define CLREvent CLREventStatic
-
#ifdef SERVER_GC
#define MULTIPLE_HEAPS 1
#endif // SERVER_GC
@@ -93,7 +91,8 @@ public:
bool RuntimeStructuresValid();
- CLREvent * GetWaitForGCEvent();
+ void SetWaitForGCEvent();
+ void ResetWaitForGCEvent();
HRESULT Initialize ();
@@ -242,7 +241,7 @@ public: // FIX
void TemporaryDisableConcurrentGC();
bool IsConcurrentGCEnabled();
- PER_HEAP_ISOLATED CLREvent *WaitForGCEvent; // used for syncing w/GC
+ PER_HEAP_ISOLATED GCEvent *WaitForGCEvent; // used for syncing w/GC
PER_HEAP_ISOLATED CFinalize* m_Finalize;