File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -702,9 +702,9 @@ Recycler::RootRelease(void* obj, uint *count)
702702 RECYCLER_PERF_COUNTER_DEC (PinnedObject);
703703 }
704704
705- // Not a real collection. This doesn't activate GC.
706- // This tell the GC that we have an exhaustive candidate, and should trigger
707- // another GC if there is an exhaustive GC going on.
705+ // Any time a root is removed during a GC, it indicates that an exhaustive
706+ // collection is likely going to have work to do so trigger an exhaustive
707+ // candidate GC to indicate this fact
708708 this ->CollectNow <CollectExhaustiveCandidate>();
709709}
710710
@@ -7717,6 +7717,11 @@ Recycler::DeleteGuestArena(ArenaAllocator * arenaAllocator)
77177717 {
77187718 guestArenaList.RemoveElement (&HeapAllocator::Instance, guestArenaAllocator);
77197719 }
7720+
7721+ // Any time a root is removed during a GC, it indicates that an exhaustive
7722+ // collection is likely going to have work to do so trigger an exhaustive
7723+ // candidate GC to indicate this fact
7724+ this ->CollectNow <CollectExhaustiveCandidate>();
77207725}
77217726
77227727#ifdef LEAK_REPORT
Original file line number Diff line number Diff line change @@ -1247,11 +1247,21 @@ class Recycler
12471247 void UnregisterExternalGuestArena (ArenaData* guestArena)
12481248 {
12491249 externalGuestArenaList.Remove (&NoThrowHeapAllocator::Instance, guestArena);
1250+
1251+ // Any time a root is removed during a GC, it indicates that an exhaustive
1252+ // collection is likely going to have work to do so trigger an exhaustive
1253+ // candidate GC to indicate this fact
1254+ this ->CollectNow <CollectExhaustiveCandidate>();
12501255 }
12511256
12521257 void UnregisterExternalGuestArena (ArenaData** guestArena)
12531258 {
12541259 externalGuestArenaList.RemoveElement (&NoThrowHeapAllocator::Instance, guestArena);
1260+
1261+ // Any time a root is removed during a GC, it indicates that an exhaustive
1262+ // collection is likely going to have work to do so trigger an exhaustive
1263+ // candidate GC to indicate this fact
1264+ this ->CollectNow <CollectExhaustiveCandidate>();
12551265 }
12561266
12571267#ifdef RECYCLER_TEST_SUPPORT
Original file line number Diff line number Diff line change @@ -314,14 +314,13 @@ Below test fails with difference in space. Investigate the cause and re-enable t
314314 <compile-flags >-mic:1 -off:simplejit -off:JITLoopBody -mmoc:0</compile-flags >
315315 </default >
316316 </test >
317- <!-- Disabling this test case until the bug 9706251 is fixed
318317 <test >
319318 <default >
320319 <files >typedarray_bugfixes.js</files >
321320 <compile-flags >-Off:Deferparse -args summary -endargs</compile-flags >
322321 <tags >BugFix</tags >
323322 </default >
324- </test>-->
323+ </test >
325324 <test >
326325 <default >
327326 <files >bug_OS_6911900.js</files >
You can’t perform that action at this time.
0 commit comments