Bug 125553 - Get rid of forward exit on UInt32ToNumber by adding an op_unsigned bytecode instruction
Summary: Get rid of forward exit on UInt32ToNumber by adding an op_unsigned bytecode i...
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
Depends on:
Blocks: 125531
  Show dependency treegraph
Reported: 2013-12-10 18:17 PST by Filip Pizlo
Modified: 2013-12-13 22:31 PST (History)
10 users (show)

See Also:

the patch (49.03 KB, patch)
2013-12-11 21:11 PST, Filip Pizlo
oliver: review+
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from webkit-ews-01 for mac-mountainlion (495.41 KB, application/zip)
2013-12-11 23:58 PST, Build Bot
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2013-12-10 18:17:17 PST
Patch forthcoming.
Comment 1 Filip Pizlo 2013-12-11 21:11:58 PST
Created attachment 219040 [details]
the patch
Comment 2 WebKit Commit Bot 2013-12-11 21:12:56 PST
Attachment 219040 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/ChangeLog', u'Source/JavaScriptCore/bytecode/BytecodeUseDef.h', u'Source/JavaScriptCore/bytecode/CodeBlock.cpp', u'Source/JavaScriptCore/bytecode/Opcode.h', u'Source/JavaScriptCore/bytecode/ValueRecovery.cpp', u'Source/JavaScriptCore/bytecode/ValueRecovery.h', u'Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp', u'Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp', u'Source/JavaScriptCore/dfg/DFGClobberize.h', u'Source/JavaScriptCore/dfg/DFGNodeType.h', u'Source/JavaScriptCore/dfg/DFGOSRExitCompiler32_64.cpp', u'Source/JavaScriptCore/dfg/DFGOSRExitCompiler64.cpp', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp', u'Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp', u'Source/JavaScriptCore/ftl/FTLFormattedValue.h', u'Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp', u'Source/JavaScriptCore/ftl/FTLValueFormat.cpp', u'Source/JavaScriptCore/ftl/FTLValueFormat.h', u'Source/JavaScriptCore/jit/JIT.cpp', u'Source/JavaScriptCore/jit/JIT.h', u'Source/JavaScriptCore/jit/JITArithmetic.cpp', u'Source/JavaScriptCore/jit/JITArithmetic32_64.cpp', u'Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm', u'Source/JavaScriptCore/llint/LowLevelInterpreter64.asm', u'Source/JavaScriptCore/runtime/CommonSlowPaths.cpp', u'Source/JavaScriptCore/runtime/CommonSlowPaths.h', '--commit-queue']" exit_code: 1
ERROR: Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp:145:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
Total errors found: 1 in 20 files

If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Build Bot 2013-12-11 23:57:58 PST
Comment on attachment 219040 [details]
the patch

Attachment 219040 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/48148196

New failing tests:
Comment 4 Build Bot 2013-12-11 23:58:01 PST
Created attachment 219047 [details]
Archive of layout-test-results from webkit-ews-01 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-01  Port: mac-mountainlion  Platform: Mac OS X 10.8.5
Comment 5 Geoffrey Garen 2013-12-12 13:23:48 PST
This was a timeout failure:

New failing tests:

Possibly an infinite loop?
Comment 6 Filip Pizlo 2013-12-12 13:26:10 PST
(In reply to comment #5)
> This was a timeout failure:
> New failing tests:
> js/regress/stepanov_container.html
> Possibly an infinite loop?

Ha, no - this version of the patch stupidly omits:

Index: dfg/DFGCapabilities.cpp
--- dfg/DFGCapabilities.cpp	(revision 160493)
+++ dfg/DFGCapabilities.cpp	(working copy)
@@ -91,6 +91,7 @@
     case op_rshift:
     case op_lshift:
     case op_urshift:
+    case op_unsigned:
     case op_inc:
     case op_dec:
     case op_add:

As you can imagine, not DFG compiling anything that does >>> can make things run a bit slower.
Comment 7 Filip Pizlo 2013-12-13 22:31:11 PST
Landed in http://trac.webkit.org/changeset/160587