diff options
author | Jan Kotas <jkotas@microsoft.com> | 2017-01-23 22:23:18 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-23 22:23:18 -0800 |
commit | 52aa019ec9bed8c08a2f8e230804b363bcaef6f4 (patch) | |
tree | 391e8a0b20089a63fff98ecff727ed748429f5f5 /src | |
parent | 3a0a7663e1cc26e04a86e3ccb8e9de5ea650ebc4 (diff) | |
download | coreclr-52aa019ec9bed8c08a2f8e230804b363bcaef6f4.tar.gz coreclr-52aa019ec9bed8c08a2f8e230804b363bcaef6f4.tar.bz2 coreclr-52aa019ec9bed8c08a2f8e230804b363bcaef6f4.zip |
Port GC fixes from CoreRT (#9078)
Diffstat (limited to 'src')
-rw-r--r-- | src/gc/env/gcenv.base.h | 19 | ||||
-rw-r--r-- | src/gc/gc.cpp | 8 |
2 files changed, 8 insertions, 19 deletions
diff --git a/src/gc/env/gcenv.base.h b/src/gc/env/gcenv.base.h index 0a0de73ee1..9fe583f9a6 100644 --- a/src/gc/env/gcenv.base.h +++ b/src/gc/env/gcenv.base.h @@ -441,8 +441,6 @@ extern MethodTable * g_pFreeObjectMethodTable; extern int32_t g_TrapReturningThreads; -extern bool g_fFinalizerRunOnShutDown; - // // Locks // @@ -454,21 +452,6 @@ Thread * GetThread(); typedef void (CALLBACK *HANDLESCANPROC)(PTR_UNCHECKED_OBJECTREF pref, uintptr_t *pExtraInfo, uintptr_t param1, uintptr_t param2); -class FinalizerThread -{ -public: - static bool Initialize(); - static void EnableFinalization(); - - static bool HaveExtraWorkForFinalizer(); - - static bool IsCurrentThreadFinalizer(); - static void Wait(DWORD timeout, bool allowReentrantWait = false); - static void SignalFinalizationDone(bool fFinalizer); - static void SetFinalizerThread(Thread * pThread); - static HANDLE GetFinalizerEvent(); -}; - bool IsGCSpecialThread(); inline bool dbgOnly_IsSpecialEEThread() @@ -509,8 +492,6 @@ void LogSpewAlways(const char *fmt, ...); // ----------------------------------------------------------------------------------------------------------- -void StompWriteBarrierEphemeral(bool isRuntimeSuspended); -void StompWriteBarrierResize(bool isRuntimeSuspended, bool bReqUpperBoundsCheck); bool IsGCThread(); class CLRConfig diff --git a/src/gc/gc.cpp b/src/gc/gc.cpp index 578f1db9d7..df77170d2b 100644 --- a/src/gc/gc.cpp +++ b/src/gc/gc.cpp @@ -15363,7 +15363,10 @@ void gc_heap::gc1() if (!settings.concurrent) #endif //BACKGROUND_GC { +#ifndef FEATURE_REDHAWK + // IsGCThread() always returns false on CoreRT, but this assert is useful in CoreCLR. assert(!!IsGCThread()); +#endif // FEATURE_REDHAWK adjust_ephemeral_limits(); } @@ -16204,7 +16207,10 @@ BOOL gc_heap::expand_soh_with_minimal_gc() dd_gc_new_allocation (dynamic_data_of (max_generation)) -= ephemeral_size; dd_new_allocation (dynamic_data_of (max_generation)) = dd_gc_new_allocation (dynamic_data_of (max_generation)); +#ifndef FEATURE_REDHAWK + // IsGCThread() always returns false on CoreRT, but this assert is useful in CoreCLR. assert(!!IsGCThread()); +#endif // FEATURE_REDHAWK adjust_ephemeral_limits(); return TRUE; } @@ -36478,11 +36484,13 @@ void GCHeap::DiagScanFinalizeQueue (fq_scan_fn fn, ScanContext* sc) void GCHeap::DiagScanHandles (handle_scan_fn fn, int gen_number, ScanContext* context) { + UNREFERENCED_PARAMETER(gen_number); GCScan::GcScanHandlesForProfilerAndETW (max_generation, context, fn); } void GCHeap::DiagScanDependentHandles (handle_scan_fn fn, int gen_number, ScanContext* context) { + UNREFERENCED_PARAMETER(gen_number); GCScan::GcScanDependentHandlesForProfilerAndETW (max_generation, context, fn); } |