RESOLVED FIXED98679
[V8] Retrieving V8PerContextData from v8::Context is slow
https://bugs.webkit.org/show_bug.cgi?id=98679
Summary [V8] Retrieving V8PerContextData from v8::Context is slow
Adam Barth
Reported 2012-10-08 12:31:11 PDT
[V8] Retrieving V8PerContextData from v8::Context is slow
Attachments
work-in-progress (11.80 KB, patch)
2012-10-08 12:31 PDT, Adam Barth
no flags
works except for inspector (9.64 KB, patch)
2012-10-08 13:49 PDT, Adam Barth
no flags
Needs V8 change (2.08 KB, patch)
2012-10-08 17:05 PDT, Adam Barth
no flags
Adam Barth
Comment 1 2012-10-08 12:31:41 PDT
Created attachment 167587 [details] work-in-progress
Adam Barth
Comment 2 2012-10-08 12:34:06 PDT
Currently the web inspector is using v8::Context::SetData for a debug string. This patch moves that debug string to V8PerContextData and re-purposes SetData for V8PerContextData. This should make the bindings go faster because we need to retrieve the V8PerContextData to create wrappers.
Adam Barth
Comment 3 2012-10-08 13:49:57 PDT
Created attachment 167600 [details] works except for inspector
Adam Barth
Comment 4 2012-10-08 13:56:49 PDT
This patch seems work except it hits the UNREACHABLE() on line 428 of code-stubs.cc in V8. I'm not sure why yet.
Adam Barth
Comment 5 2012-10-08 13:59:14 PDT
Note: The issue appears to only occur with PageScriptDebugServer::addListener on the stack.
Adam Barth
Comment 6 2012-10-08 17:04:48 PDT
Looks like we can't use SetData because it's has semantics in the debugger already.
Adam Barth
Comment 7 2012-10-08 17:05:28 PDT
Created attachment 167650 [details] Needs V8 change
Adam Barth
Comment 8 2012-10-08 17:17:01 PDT
The needed change in V8 is https://codereview.chromium.org/11087020
Adam Barth
Comment 9 2012-11-15 14:51:05 PST
I fixenated this using the new aligned pointer API from V8.
Note You need to log in before you can comment on or make changes to this bug.