RESOLVED FIXED 149066
REGRESSION(r189585): run-perf-tests Speedometer fails with a console error
https://bugs.webkit.org/show_bug.cgi?id=149066
Summary REGRESSION(r189585): run-perf-tests Speedometer fails with a console error
Ryosuke Niwa
Reported 2015-09-11 08:13:42 PDT
At r189585: $ ./Tools/Scripts/run-perf-tests PerformanceTests/Speedometer/ ~/Desktop/speedometer.json Path was not found:/Users/rniwa/Desktop/speedometer.json Running 1 tests Running Speedometer/Full.html (1 of 1) RESULT Speedometer: Full: Time= 5276.43625 ms median= 5279.8225 ms, stdev= 54.5255277219 ms, min= 5151.865 ms, max= 5360.485 ms Finished: 121.690676 s At r189586: $ ./Tools/Scripts/run-perf-tests PerformanceTests/Speedometer/ ~/Desktop/speedometer.json Path was not found:/Users/rniwa/Desktop/speedometer.json Running 1 tests Running Speedometer/Full.html (1 of 1) ERROR: CONSOLE MESSAGE: line 3285: Cannot call get with 'isDeleted' on an undefined object. FAILED Finished: 29.483498 s
Attachments
the patch (7.95 KB, patch)
2015-09-11 23:10 PDT, Filip Pizlo
no flags
the patch (8.63 KB, patch)
2015-09-11 23:41 PDT, Filip Pizlo
msaboff: review+
Radar WebKit Bug Importer
Comment 1 2015-09-11 08:14:16 PDT
Filip Pizlo
Comment 2 2015-09-11 13:38:41 PDT
Looking at this now.
Filip Pizlo
Comment 3 2015-09-11 23:10:37 PDT
Created attachment 261047 [details] the patch
Filip Pizlo
Comment 4 2015-09-11 23:24:21 PDT
Test case: //@ runMiscNoCJITTest("--useLLInt=false", "--useDFGJIT=false") function foo(o) { return o.i7; } var o = {}; for (var i = 0; i < 100; ++i) o["i" + i] = i; for (var i = 0; i < 100; i+=2) delete o["i" + i]; for (var i = 0; i < 100; ++i) { var result = foo(o); if (result != 7) throw "Error: bad result: " + result; }
Filip Pizlo
Comment 5 2015-09-11 23:41:47 PDT
Created attachment 261048 [details] the patch And now, with a test.
Michael Saboff
Comment 6 2015-09-12 07:46:03 PDT
Comment on attachment 261048 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=261048&action=review > Source/JavaScriptCore/jit/Repatch.cpp:214 > +static bool forceICFailure(ExecState*) Why the unused ExecState* parameter? > Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:289 > +inline bool shouldJIT(ExecState* exec, CodeBlock*) Why the unused CodeBlock* parameter?
Filip Pizlo
Comment 7 2015-09-12 07:54:49 PDT
(In reply to comment #6) > Comment on attachment 261048 [details] > the patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=261048&action=review > > > Source/JavaScriptCore/jit/Repatch.cpp:214 > > +static bool forceICFailure(ExecState*) > > Why the unused ExecState* parameter? > > > Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:289 > > +inline bool shouldJIT(ExecState* exec, CodeBlock*) > > Why the unused CodeBlock* parameter? So it's easier to insert bisecting code based on code block or the current code origin.
Michael Saboff
Comment 8 2015-09-12 08:03:21 PDT
Comment on attachment 261048 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=261048&action=review r=me > Source/JavaScriptCore/ChangeLog:21 > + Debugging bugs like these requires adding ad hoc bisection code in various places. We already > + had the basic hooks for this. This patch makes those hooks a bit more useful. Add that the two unused parameter additions are for this reason.
Filip Pizlo
Comment 9 2015-09-12 13:49:47 PDT
(In reply to comment #8) > Comment on attachment 261048 [details] > the patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=261048&action=review > > r=me > > > Source/JavaScriptCore/ChangeLog:21 > > + Debugging bugs like these requires adding ad hoc bisection code in various places. We already > > + had the basic hooks for this. This patch makes those hooks a bit more useful. > > Add that the two unused parameter additions are for this reason. Done. Thanks!
Filip Pizlo
Comment 10 2015-09-12 14:02:45 PDT
Note You need to log in before you can comment on or make changes to this bug.