[Webkit-unassigned] [Bug 80098] DFGCodeBlocks should not trace CodeBlocks that are also going to be traced by virtue of being in the transitive closure

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Mar 5 12:12:52 PST 2012


--- Comment #7 from Filip Pizlo <fpizlo at apple.com>  2012-03-05 12:12:52 PST ---
(In reply to comment #6)
> I wonder if a better long-term approach would be something along the lines of our unconditional finalizers: anything that needs serial post-GC fixup would register an unconditional serial finalizer to do the fixup.

I'm not sure how that would work.  The problem is that the outcome of the GC's trace is affected by what objects are marked, and CodeBlock::visitAggregate will mark objects.  So if DFGCodeBlocks knows that a CodeBlock needs to do marking, then it should tell that CodeBlock to do marking.

But that same CodeBlock may at any time during marking be found to be live because its ownerExecutable is live, in which case it will also end up doing marking.

Because all of this is part of a fixpoint, I can't see an easy way to impose any sort of phasing.

Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

More information about the webkit-unassigned mailing list