Bug 125553

Summary: Get rid of forward exit on UInt32ToNumber by adding an op_unsigned bytecode instruction
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, buildbot, commit-queue, ggaren, mark.lam, mhahnenberg, msaboff, oliver, rniwa, sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 125531    
Attachments:
Description Flags
the patch
oliver: review+, buildbot: commit-queue-
Archive of layout-test-results from webkit-ews-01 for mac-mountainlion none

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:
js/regress/stepanov_container.html
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:
js/regress/stepanov_container.html

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