RESOLVED FIXED 111114
[V8] Remove the world->isMainWorld() check from minorGCPrologue()
https://bugs.webkit.org/show_bug.cgi?id=111114
Summary [V8] Remove the world->isMainWorld() check from minorGCPrologue()
Kentaro Hara
Reported 2013-02-28 14:34:36 PST
A couple of weeks ago, I introduced the following check to minorGCPrologue() in r142419. void minorGCPrologue() { // A minor GC can handle the main world only. DOMWrapperWorld* world = worldForEnteredContextWithoutContextCheck(); if (world && world->isMainWorld()) { MinorGCWrapperVisitor visitor(isolate); v8::V8::VisitHandlesForPartialDependence(isolate, &visitor); visitor.notifyFinished(); } } - The check makes no sense. A GC should not care about what world we are in. There is no concept of worlds in GC. - worldForEnteredContextWithoutContextCheck() returns 0 for the main world. So if a GC runs in the main world, the minor DOM GC is skipped. - worldForEnteredContextWithoutContextCheck() caused a Chromium crash (https://code.google.com/p/chromium/issues/detail?id=177587) We should remove the check.
Attachments
Patch (6.96 KB, patch)
2013-02-28 14:36 PST, Kentaro Hara
no flags
Patch (5.78 KB, patch)
2013-02-28 14:37 PST, Kentaro Hara
no flags
Kentaro Hara
Comment 1 2013-02-28 14:36:20 PST
Kentaro Hara
Comment 2 2013-02-28 14:37:17 PST
WebKit Review Bot
Comment 3 2013-02-28 15:27:40 PST
Comment on attachment 190811 [details] Patch Clearing flags on attachment: 190811 Committed r144381: <http://trac.webkit.org/changeset/144381>
WebKit Review Bot
Comment 4 2013-02-28 15:27:43 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.