diff options
author | Sean Gillespie <sean@swgillespie.me> | 2017-04-05 09:57:50 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-05 09:57:50 -0700 |
commit | be8504bd8a63962c84567990f0b84019f299166c (patch) | |
tree | 68678a8bf8b65d84ce55dffe62321a4514e270a7 /src/gc/sample/gcenv.ee.cpp | |
parent | 854bb352a37686afe255045aa728302fdfb3bae2 (diff) | |
download | coreclr-be8504bd8a63962c84567990f0b84019f299166c.tar.gz coreclr-be8504bd8a63962c84567990f0b84019f299166c.tar.bz2 coreclr-be8504bd8a63962c84567990f0b84019f299166c.zip |
[Local GC] Move Weak Reference finalization out of the GC (#10676)
* [Local GC] Move Weak Reference finalization out of the GC
* Address two issues:
1) Use GetGCSafeMethodTable instead of GetMethodTable, so that the
mark bit is correctly masked off the object's method table pointer,
2) Address code review feedback by re-inserting a missed call to
GetCanonicalMethodTable and rename the new API to EagerFinalized to
better illustrate its broader purpose.
* Repair the GC sample
Diffstat (limited to 'src/gc/sample/gcenv.ee.cpp')
-rw-r--r-- | src/gc/sample/gcenv.ee.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gc/sample/gcenv.ee.cpp b/src/gc/sample/gcenv.ee.cpp index aaca51e8b8..392bfa1cb5 100644 --- a/src/gc/sample/gcenv.ee.cpp +++ b/src/gc/sample/gcenv.ee.cpp @@ -275,6 +275,12 @@ bool GCToEEInterface::ShouldFinalizeObjectForUnload(AppDomain* pDomain, Object* return true; } +bool GCToEEInterface::EagerFinalized(Object* obj) +{ + // The sample does not finalize anything eagerly. + return false; +} + bool IsGCSpecialThread() { // TODO: Implement for background GC |