Bug 142036

Summary: DFG SSA stack accesses shouldn't speak of VariableAccessDatas
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 141174    
Attachments:
Description Flags
work in progress
none
the patch msaboff: review+

Description Filip Pizlo 2015-02-25 18:54:48 PST
VariableAccessData is super useful in ThreadedCPS because it allows us to region about things that span basic blocks.  It also allows us to do stepwise type inference on variables.  But it's purely harmful in SSA.  SSA shouldn't speak of it.

The main effect of this is that it will allow us to easily introduce new stack accesses.
Comment 1 Filip Pizlo 2015-02-25 18:56:11 PST
Created attachment 247390 [details]
work in progress
Comment 2 Filip Pizlo 2015-02-25 21:17:42 PST
Created attachment 247402 [details]
the patch
Comment 3 WebKit Commit Bot 2015-02-25 21:19:54 PST
Attachment 247402 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGPutStackSinkingPhase.cpp:102:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGPutStackSinkingPhase.cpp:112:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGPutStackSinkingPhase.cpp:224:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGPutStackSinkingPhase.cpp:233:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGPutStackSinkingPhase.cpp:395:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGStackLayoutPhase.cpp:193:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/JavaScriptCore/CMakeLists.txt:209:  There should be exactly one empty line instead of 0 between "disassembler/ARM64/A64DOpcode.cpp" and "disassembler/ARMv7/ARMv7DOpcode.cpp".  [list/emptyline] [5]
Total errors found: 7 in 31 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 4 Filip Pizlo 2015-02-25 21:25:24 PST
(In reply to comment #3)
> Attachment 247402 [details] did not pass style-queue:
> 
> 
> ERROR: Source/JavaScriptCore/dfg/DFGPutStackSinkingPhase.cpp:102:  Place
> brace on its own line for function definitions.  [whitespace/braces] [4]
> ERROR: Source/JavaScriptCore/dfg/DFGPutStackSinkingPhase.cpp:112:  Place
> brace on its own line for function definitions.  [whitespace/braces] [4]
> ERROR: Source/JavaScriptCore/dfg/DFGPutStackSinkingPhase.cpp:224:  Place
> brace on its own line for function definitions.  [whitespace/braces] [4]
> ERROR: Source/JavaScriptCore/dfg/DFGPutStackSinkingPhase.cpp:233:  Place
> brace on its own line for function definitions.  [whitespace/braces] [4]
> ERROR: Source/JavaScriptCore/dfg/DFGPutStackSinkingPhase.cpp:395:  Place
> brace on its own line for function definitions.  [whitespace/braces] [4]

No.

> ERROR: Source/JavaScriptCore/dfg/DFGStackLayoutPhase.cpp:193:  More than one
> command on the same line  [whitespace/newline] [4]

Fixed.

> ERROR: Source/JavaScriptCore/CMakeLists.txt:209:  There should be exactly
> one empty line instead of 0 between "disassembler/ARM64/A64DOpcode.cpp" and
> "disassembler/ARMv7/ARMv7DOpcode.cpp".  [list/emptyline] [5]

No.

> Total errors found: 7 in 31 files
> 
> 
> If any of these errors are false positives, please file a bug against
> check-webkit-style.
Comment 5 Michael Saboff 2015-02-26 10:22:03 PST
Comment on attachment 247402 [details]
the patch

r=me
Comment 6 Filip Pizlo 2015-02-26 11:52:30 PST
Landed in http://trac.webkit.org/changeset/180691