Now that GCs occur at the same points when recording and replaying, the only use of the web replay trigger mechanism is to perform deferred finalizations of GC-finalized things at consistent points when recording and replaying. Currently these finalizations will happen at the next turn of the thread's event loop following the GC, but this may be too late --- the CycleCollectedJSRuntime for the thread may have already been unlinked from TLS and destroyed. Rather than adding another call to ExecuteTriggers to handle this, it would be better to call ExecuteTriggers at the place it makes sense with the current uses for the triggers: at the end of the GC which finalized the associated JS objects, and right before the runtime processes any deferred finalizations.
Attachment #9004373 - Flags: review?(continuation)
FYI, I'm doing 7 on-site interviews this week, so my reviews will be a little slow. Hopefully I'll get to your patches Thursday and Friday.
Attachment #9004373 - Flags: review?(continuation) → review+
Pushed by firstname.lastname@example.org: https://hg.mozilla.org/integration/mozilla-inbound/rev/d8447a4c32e7 Execute record/replay triggers when finalizing deferred things, r=mccr8.
You need to log in before you can comment on or make changes to this bug.