Bug 141623 - DFG SSA should use GetLocal for arguments, and the GetArgument node type should be removed
Summary: DFG SSA should use GetLocal for arguments, and the GetArgument node type shou...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords:
Depends on:
Blocks: 141332
  Show dependency treegraph
 
Reported: 2015-02-15 14:33 PST by Filip Pizlo
Modified: 2015-02-16 23:33 PST (History)
12 users (show)

See Also:


Attachments
work in progress (31.96 KB, patch)
2015-02-15 16:07 PST, Filip Pizlo
no flags Details | Formatted Diff | Diff
the patch (35.02 KB, patch)
2015-02-15 17:40 PST, Filip Pizlo
oliver: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2015-02-15 14:33:23 PST
The GetArgument node type is bizarre: it acts like a GetLocal that also does checks.  We should just use a GetLocal instead and do the checks elsewhere.
Comment 1 Filip Pizlo 2015-02-15 16:07:19 PST
Created attachment 246626 [details]
work in progress
Comment 2 Filip Pizlo 2015-02-15 17:40:17 PST
Created attachment 246627 [details]
the patch
Comment 3 Filip Pizlo 2015-02-16 11:30:29 PST
Landed in http://trac.webkit.org/changeset/180160
Comment 4 Csaba Osztrogonác 2015-02-16 14:03:44 PST
(In reply to comment #3)
> Landed in http://trac.webkit.org/changeset/180160

It broke 32 bit API tests, see Apple 32 bit JSC testers for details:

JS ERROR 
JS ERROR 
undefined: JS ERROR TypeError: null is not an object
undefined: JS ERROR TypeError: No default value
undefined: JS ERROR TypeError: No default value
undefined: JS ERROR TypeError: No default value
[native code]: JS ERROR 1
undefined:1: JS ERROR SyntaxError: Unexpected token '='
undefined:1: JS ERROR SyntaxError: Unexpected token '='
undefined:1: JS ERROR SyntaxError: Unexpected identifier 'Array'
undefined:1: JS ERROR SyntaxError: Unexpected identifier 'Array'
undefined:2: JS ERROR SyntaxError: Unexpected identifier 'Array'
file:///foo/bar.js:1: JS ERROR SyntaxError: Unexpected identifier 'Array'
test script:1:21: JS ERROR an exception
test script:1:21: JS ERROR an exception
test script:1:21: JS ERROR an exception
test script:1:21: JS ERROR an exception
test script:1:21: JS ERROR an exception
test script:1:21: JS ERROR an exception
test script:1:21: JS ERROR an exception
testAPI completed with rc=11 (254)
Comment 5 Filip Pizlo 2015-02-16 14:35:07 PST
(In reply to comment #4)
> (In reply to comment #3)
> > Landed in http://trac.webkit.org/changeset/180160
> 
> It broke 32 bit API tests, see Apple 32 bit JSC testers for details:
> 
> JS ERROR 
> JS ERROR 
> undefined: JS ERROR TypeError: null is not an object
> undefined: JS ERROR TypeError: No default value
> undefined: JS ERROR TypeError: No default value
> undefined: JS ERROR TypeError: No default value
> [native code]: JS ERROR 1
> undefined:1: JS ERROR SyntaxError: Unexpected token '='
> undefined:1: JS ERROR SyntaxError: Unexpected token '='
> undefined:1: JS ERROR SyntaxError: Unexpected identifier 'Array'
> undefined:1: JS ERROR SyntaxError: Unexpected identifier 'Array'
> undefined:2: JS ERROR SyntaxError: Unexpected identifier 'Array'
> file:///foo/bar.js:1: JS ERROR SyntaxError: Unexpected identifier 'Array'
> test script:1:21: JS ERROR an exception
> test script:1:21: JS ERROR an exception
> test script:1:21: JS ERROR an exception
> test script:1:21: JS ERROR an exception
> test script:1:21: JS ERROR an exception
> test script:1:21: JS ERROR an exception
> test script:1:21: JS ERROR an exception
> testAPI completed with rc=11 (254)

Did it just break Apple 32-bit or all 32-bit?  I ask because I've seen the JSC Xcode project mess up dependency resolutions pretty regularly in recent revisions. It might just need a clean build. 

If that doesn't fix it then rollout is best.
Comment 6 Csaba Osztrogonác 2015-02-16 23:33:40 PST
strange, build works again after an unrelated change - https://build.webkit.org/builders/Apple%20Yosemite%2032-bit%20JSC%20%28BuildAndTest%29/builds/2093