RESOLVED FIXED 18626
SQUIRRELFISH: support the "slow script" dialog
https://bugs.webkit.org/show_bug.cgi?id=18626
Summary SQUIRRELFISH: support the "slow script" dialog
Maciej Stachowiak
Reported 2008-04-19 14:37:09 PDT
SquirrelFish does not support the timeouts and callbacks that trunk uses to implement the "slow script" dialog. We'll need this to work to merge to trunk.
Attachments
Patch, regresses perf on some systems (9.43 KB, patch)
2008-05-16 02:59 PDT, Oliver Hunt
no flags
More complete version patch (11.40 KB, patch)
2008-05-20 01:45 PDT, Oliver Hunt
no flags
Final (hopefully) patch (27.52 KB, patch)
2008-06-27 20:31 PDT, Oliver Hunt
no flags
Oliver Hunt
Comment 1 2008-05-15 02:32:38 PDT
Added for for, while, and do..while loops with M JavaScriptCore/ChangeLog M JavaScriptCore/VM/CodeBlock.cpp M JavaScriptCore/VM/CodeGenerator.cpp M JavaScriptCore/VM/CodeGenerator.h M JavaScriptCore/VM/ExceptionHelpers.cpp M JavaScriptCore/VM/ExceptionHelpers.h M JavaScriptCore/VM/Machine.cpp M JavaScriptCore/VM/Opcode.h M JavaScriptCore/kjs/interpreter.cpp M JavaScriptCore/kjs/nodes.cpp M JavaScriptCore/kjs/object.h Committed r33483
Oliver Hunt
Comment 2 2008-05-15 05:56:46 PDT
That patch caused an epic regression on cameron's system so i rolled it out in r33484
Oliver Hunt
Comment 3 2008-05-16 02:59:52 PDT
Created attachment 21200 [details] Patch, regresses perf on some systems
Geoffrey Garen
Comment 4 2008-05-17 12:05:05 PDT
Olliej also mentioned that the existing patch doesn't fix for...in.
Geoffrey Garen
Comment 5 2008-05-17 12:06:12 PDT
I'm working on this now.
Geoffrey Garen
Comment 6 2008-05-19 12:02:00 PDT
Oliver's patch measured as a 1.0% regression on my system. I changed it to use a local variable, like so: ++count; if (UNLIKELY(count == THRESHOLD)) { exceptionValue = createInterruptedExecutionException(exec); goto vm_throw; } (This isn't completely correct -- it's just a prototype.) That got the regression down to 0.2%. So, I think we could improve things by using a local variable in the common case, and only consulting the global object when the local variable reached some threshold.
Geoffrey Garen
Comment 7 2008-05-19 21:25:43 PDT
Back to Oliver.
Oliver Hunt
Comment 8 2008-05-20 01:45:32 PDT
Created attachment 21250 [details] More complete version patch This still regresses perf on some systems, but it doesn't on my system, so i can't do an further work on this :-(
Oliver Hunt
Comment 9 2008-06-27 20:31:44 PDT
Created attachment 21979 [details] Final (hopefully) patch
Oliver Hunt
Comment 10 2008-06-27 21:03:09 PDT
Comment on attachment 21979 [details] Final (hopefully) patch Reviewed by Sam
Oliver Hunt
Comment 11 2008-06-27 21:03:21 PDT
Committing to http://svn.webkit.org/repository/webkit/trunk ... M JavaScriptCore/ChangeLog M JavaScriptCore/JavaScriptCore.exp M JavaScriptCore/VM/CodeBlock.cpp M JavaScriptCore/VM/CodeGenerator.cpp M JavaScriptCore/VM/ExceptionHelpers.cpp M JavaScriptCore/VM/ExceptionHelpers.h M JavaScriptCore/VM/LabelID.h M JavaScriptCore/VM/Machine.cpp M JavaScriptCore/VM/Machine.h M JavaScriptCore/VM/Opcode.cpp M JavaScriptCore/VM/Opcode.h M JavaScriptCore/kjs/JSGlobalObject.cpp M JavaScriptCore/kjs/JSGlobalObject.h M JavaScriptCore/kjs/JSObject.h M JavaScriptCore/kjs/interpreter.cpp Committed r34842
Geoffrey Garen
Comment 12 2008-06-27 21:11:02 PDT
Woohoo!
Note You need to log in before you can comment on or make changes to this bug.