[Webkit-unassigned] [Bug 52075] Don't assert when trying to recompile JS while executing JS
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Jan 10 15:11:21 PST 2011
https://bugs.webkit.org/show_bug.cgi?id=52075
--- Comment #6 from Joe Mason <jmason at rim.com> 2011-01-10 15:11:21 PST ---
Ah, now that I look closer the call stack is actually:
JSC::Interpreter::execute
...
WebCore::Chrome::runJavaScriptAlert
...
platform code to run a nested event loop
...
WebCore::Timer<WebCore::ScriptDebugServer>::fired()
WebCore::ScriptDebugServer::recompileAllJSFunctions
JSC::Debugger::recompileAllJSFunctions
So the question is why dynamicGlobalObject is not set here.
ScriptDebugServer::recompileAllJSFunctions is:
JSLock lock(SilenceAssertionsOnly);
// If JavaScript stack is not empty postpone recompilation.
if (JSDOMWindow::commonJSGlobalData()->dynamicGlobalObject)
recompileAllJSFunctionsSoon();
else
Debugger::recompileAllJSFunctions(JSDOMWindow::commonJSGlobalData());
And then JSC::Debugger::recompileAllJSFunctions is:
void Debugger::recompileAllJSFunctions(JSGlobalData* globalData)
{
ASSERT(!globalData->dynamicGlobalObject);
So unless JSDOMWindow::commonJSGlobalData() returns a different object every time its called, it's just repeating the same test twice, and passing the first time but failing the second time.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list