RESOLVED FIXED Bug 102158
[V8] Merge getCachedWrapper(Node*) into DOMDataStore
https://bugs.webkit.org/show_bug.cgi?id=102158
Summary [V8] Merge getCachedWrapper(Node*) into DOMDataStore
Adam Barth
Reported 2012-11-13 17:36:01 PST
[V8] Merge getCachedWrapper(Node*) into DOMDataStore
Attachments
Patch (8.47 KB, patch)
2012-11-13 17:37 PST, Adam Barth
no flags
Patch for landing (9.87 KB, patch)
2012-11-19 17:15 PST, Adam Barth
no flags
Patch for landing (9.15 KB, patch)
2012-11-19 17:16 PST, Adam Barth
no flags
Patch for landing (12.22 KB, patch)
2012-11-19 17:18 PST, Adam Barth
no flags
Patch (1.54 KB, patch)
2012-11-19 22:16 PST, Kentaro Hara
no flags
Patch (1.84 KB, patch)
2012-11-20 00:29 PST, Kentaro Hara
no flags
patch for landing (1.85 KB, patch)
2012-11-20 16:52 PST, Kentaro Hara
abarth: commit-queue-
Adam Barth
Comment 1 2012-11-13 17:37:09 PST
Eric Seidel (no email)
Comment 2 2012-11-13 17:39:09 PST
Comment on attachment 174035 [details] Patch Seems reasonable. Normal caveat applies (talk to harken if you feel you need).
Eric Seidel (no email)
Comment 3 2012-11-13 17:39:54 PST
I mean haraken. :)
Kentaro Hara
Comment 4 2012-11-13 18:33:27 PST
Comment on attachment 174035 [details] Patch LGTM too
Adam Barth
Comment 5 2012-11-19 17:15:37 PST
Created attachment 175085 [details] Patch for landing
Adam Barth
Comment 6 2012-11-19 17:16:42 PST
Created attachment 175086 [details] Patch for landing
Adam Barth
Comment 7 2012-11-19 17:18:07 PST
Created attachment 175087 [details] Patch for landing
WebKit Review Bot
Comment 8 2012-11-19 17:42:39 PST
Comment on attachment 175087 [details] Patch for landing Rejecting attachment 175087 [details] from commit-queue. Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '-..." exit_code: 2 Last 500 characters of output: kendImpl.h:32, from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.cpp:27: Source/WebCore/Modules/indexeddb/IDBBackingStore.h:76: error: ISO C++ forbids declaration of 'DISALLOW_COPY_AND_ASSIGN' with no type CXX(target) out/Release/obj.target/webcore_remaining/Source/WebCore/Modules/indexeddb/IDBCursorWithValue.o make: *** [out/Release/obj.target/webcore_remaining/Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.o] Error 1 make: *** Waiting for unfinished jobs.... Full output: http://queues.webkit.org/results/14894386
Adam Barth
Comment 9 2012-11-19 17:44:50 PST
I don't understand how this compiles without my patch... DISALLOW_COPY_AND_ASSIGN isn't a WebKit macro...
WebKit Review Bot
Comment 10 2012-11-19 18:40:11 PST
Comment on attachment 175087 [details] Patch for landing Clearing flags on attachment: 175087 Committed r135230: <http://trac.webkit.org/changeset/135230>
WebKit Review Bot
Comment 11 2012-11-19 18:40:15 PST
All reviewed patches have been landed. Closing bug.
Yury Semikhatsky
Comment 12 2012-11-19 21:08:01 PST
(In reply to comment #10) > (From update of attachment 175087 [details]) > Clearing flags on attachment: 175087 > > Committed r135230: <http://trac.webkit.org/changeset/135230> This commit caused compilation failure on Chromium Debug builders: http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20%28dbg%29/builds/1943/steps/compile/logs/stdio I removed the ASSERT for now in http://trac.webkit.org/changeset/135244.
Kentaro Hara
Comment 13 2012-11-19 22:16:52 PST
Reopening to attach new patch.
Kentaro Hara
Comment 14 2012-11-19 22:16:54 PST
Kentaro Hara
Comment 15 2012-11-19 22:18:06 PST
Comment on attachment 175140 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=175140&action=review > Source/WebCore/bindings/v8/DOMDataStore.h:66 > + if (LIKELY(!DOMWrapperWorld::isolatedWorldsExist())) { Just a confirmation: !v8::Context::InContext() is not needed here, right?
Adam Barth
Comment 16 2012-11-19 23:33:07 PST
Comment on attachment 175140 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=175140&action=review >> Source/WebCore/bindings/v8/DOMDataStore.h:66 >> + if (LIKELY(!DOMWrapperWorld::isolatedWorldsExist())) { > > Just a confirmation: !v8::Context::InContext() is not needed here, right? Correct.
Adam Barth
Comment 17 2012-11-19 23:34:10 PST
> This commit caused compilation failure on Chromium Debug builders: http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20%28dbg%29/builds/1943/steps/compile/logs/stdio > > I removed the ASSERT for now in http://trac.webkit.org/changeset/135244. Thanks. Yes, now that this function is static, we can't assert something about the object's member variables.
WebKit Review Bot
Comment 18 2012-11-19 23:40:36 PST
Comment on attachment 175140 [details] Patch Clearing flags on attachment: 175140 Committed r135257: <http://trac.webkit.org/changeset/135257>
WebKit Review Bot
Comment 19 2012-11-19 23:40:41 PST
All reviewed patches have been landed. Closing bug.
Yury Semikhatsky
Comment 20 2012-11-20 00:02:41 PST
This (In reply to comment #18) > (From update of attachment 175140 [details]) > Clearing flags on attachment: 175140 > > Committed r135257: <http://trac.webkit.org/changeset/135257> This change broke Debug compilation for the same reason as the original patch: In file included from ../../WebCore/bindings/v8/V8DOMWrapper.h:34: ../../WebCore/bindings/v8/DOMDataStore.h:67:20: error: call to non-static member function without an object argument ASSERT(wrapperIsStoredInObject(object)); ^~~~~~~~~~~~~~~~~~~~~~~ ../../WTF/wtf/Assertions.h:247:8: note: expanded from macro 'ASSERT' (!(assertion) ? \ ^ http://chromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Mac%20Builder%20%28dbg%29/builds/34123/steps/compile/logs/stdio Please make sure your changes at least compile before committing them.
Kentaro Hara
Comment 21 2012-11-20 00:04:22 PST
(In reply to comment #20) > This change broke Debug compilation for the same reason as the original patch: I'm sorry, I'll fix asap after confirming the debug build locally.
Kentaro Hara
Comment 22 2012-11-20 00:29:50 PST
Kentaro Hara
Comment 23 2012-11-20 00:30:48 PST
Comment on attachment 175168 [details] Patch I confirmed it works in my local Chromiu/Debug build.
Adam Barth
Comment 24 2012-11-20 00:31:32 PST
Comment on attachment 175168 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=175168&action=review > Source/WebCore/bindings/v8/DOMDataStore.h:67 > - ASSERT(wrapperIsStoredInObject(object)); > + ASSERT(current(isolate)->wrapperIsStoredInObject(object)); This isn't right. Let's just remove the assertion.
Kentaro Hara
Comment 25 2012-11-20 00:36:05 PST
(In reply to comment #24) > > Source/WebCore/bindings/v8/DOMDataStore.h:67 > > - ASSERT(wrapperIsStoredInObject(object)); > > + ASSERT(current(isolate)->wrapperIsStoredInObject(object)); > > This isn't right. Let's just remove the assertion. It's OK to remove the assertion, but why isn't it right?
Adam Barth
Comment 26 2012-11-20 01:27:11 PST
(In reply to comment #25) > (In reply to comment #24) > > > Source/WebCore/bindings/v8/DOMDataStore.h:67 > > > - ASSERT(wrapperIsStoredInObject(object)); > > > + ASSERT(current(isolate)->wrapperIsStoredInObject(object)); > > > > This isn't right. Let's just remove the assertion. > > It's OK to remove the assertion, but why isn't it right? You're right, this assertion is correct. Node implies that we must be on the main thread, and the non-existence of isolated worlds implies that this must be the main world.
Kentaro Hara
Comment 27 2012-11-20 16:42:20 PST
Comment on attachment 175168 [details] Patch I need to rebase with ToT.
Kentaro Hara
Comment 28 2012-11-20 16:52:01 PST
Created attachment 175303 [details] patch for landing
Adam Barth
Comment 29 2012-11-20 16:55:48 PST
Comment on attachment 175303 [details] patch for landing One moment. This patch is based on something we might need to roll out because of bug 102852
Kentaro Hara
Comment 30 2012-11-20 16:57:08 PST
ok, feel free to insert this assertion when you reland your patch.
Adam Barth
Comment 31 2012-11-20 17:54:09 PST
Comment on attachment 175303 [details] patch for landing One moment.
Adam Barth
Comment 32 2012-11-20 18:31:16 PST
If you don't mind, we can skip this patch because I'm changing how this stuff works a bit in bug 102854.
Note You need to log in before you can comment on or make changes to this bug.