RESOLVED FIXED 72645
Move JS recursion counter from V8Proxy to V8BindingPerIsolateData
https://bugs.webkit.org/show_bug.cgi?id=72645
Summary Move JS recursion counter from V8Proxy to V8BindingPerIsolateData
Adam Klein
Reported 2011-11-17 13:12:07 PST
Move JS recursion counter from V8Proxy to V8BindingPerIsolateData
Attachments
Patch (11.62 KB, patch)
2011-11-17 13:15 PST, Adam Klein
no flags
Use RAII (11.99 KB, patch)
2011-11-17 14:05 PST, Adam Klein
no flags
Avoid test DB name collision (12.01 KB, patch)
2011-11-17 14:11 PST, Adam Klein
no flags
Adam Klein
Comment 1 2011-11-17 13:15:47 PST
Adam Barth
Comment 2 2011-11-17 13:28:29 PST
Comment on attachment 115664 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=115664&action=review > Source/WebCore/bindings/v8/V8Proxy.cpp:468 > - m_recursion++; > + incrementRecursionLevel(); > result = V8Proxy::instrumentedCallFunction(m_frame->page(), function, receiver, argc, args); > - m_recursion--; > + decrementRecursionLevel(); Can we use a RAII to twiddle this state to avoid bugs?
Adam Klein
Comment 3 2011-11-17 13:35:09 PST
Comment on attachment 115664 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=115664&action=review >> Source/WebCore/bindings/v8/V8Proxy.cpp:468 >> + decrementRecursionLevel(); > > Can we use a RAII to twiddle this state to avoid bugs? My only reason for not using RAII was because I couldn't think of a good name for the RAII class that wouldn't immediately confused with v8::HandleScope or v8::Context::Scope (those two are confusing enough for me already). Any suggestions?
Adam Barth
Comment 4 2011-11-17 13:38:42 PST
Comment on attachment 115664 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=115664&action=review >>> Source/WebCore/bindings/v8/V8Proxy.cpp:468 >>> - m_recursion++; >>> + incrementRecursionLevel(); >>> result = V8Proxy::instrumentedCallFunction(m_frame->page(), function, receiver, argc, args); >>> - m_recursion--; >>> + decrementRecursionLevel(); >> >> Can we use a RAII to twiddle this state to avoid bugs? > > My only reason for not using RAII was because I couldn't think of a good name for the RAII class that wouldn't immediately confused with v8::HandleScope or v8::Context::Scope (those two are confusing enough for me already). Any suggestions? V8RecursionScope ?
Adam Klein
Comment 5 2011-11-17 14:05:16 PST
Created attachment 115672 [details] Use RAII
Adam Klein
Comment 6 2011-11-17 14:11:51 PST
Created attachment 115676 [details] Avoid test DB name collision
Adam Barth
Comment 7 2011-11-17 14:12:33 PST
Comment on attachment 115676 [details] Avoid test DB name collision Thanks!
WebKit Review Bot
Comment 8 2011-11-17 21:41:50 PST
Comment on attachment 115676 [details] Avoid test DB name collision Clearing flags on attachment: 115676 Committed r100721: <http://trac.webkit.org/changeset/100721>
WebKit Review Bot
Comment 9 2011-11-17 21:41:55 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.