Bug 188573

Summary: Inline DataView accesses into DFG/FTL
Product: WebKit Reporter: Saam Barati <saam>
Component: JavaScriptCoreAssignee: Saam Barati <saam>
Status: RESOLVED FIXED    
Severity: Normal CC: benjamin, cdumez, cmarcelo, commit-queue, dbates, ews-watchlist, fpizlo, ggaren, gskachkov, jfbastien, keith_miller, mark.lam, msaboff, realdawei, rmorisset, ryanhaddad, ticaiolima, webkit-bug-importer, ysuzuki
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 188768    
Attachments:
Description Flags
WIP
none
WIP
none
WIP
none
WIP
none
WIP
none
WIP
none
WIP
none
WIP
none
WIP
none
WIP
none
WIP
none
patch none

Description Saam Barati 2018-08-14 12:19:25 PDT
...
Comment 1 Saam Barati 2018-08-14 12:19:50 PDT
<rdar://problem/43286746>
Comment 2 Saam Barati 2018-08-14 23:57:47 PDT
Created attachment 347152 [details]
WIP

it begins
Comment 3 Saam Barati 2018-08-16 11:35:03 PDT
Created attachment 347278 [details]
WIP
Comment 4 Saam Barati 2018-08-16 12:40:05 PDT
Created attachment 347290 [details]
WIP
Comment 5 Saam Barati 2018-08-16 14:43:57 PDT
Created attachment 347309 [details]
WIP
Comment 6 Saam Barati 2018-08-16 19:10:28 PDT
Created attachment 347334 [details]
WIP
Comment 7 Saam Barati 2018-08-16 20:00:18 PDT
Created attachment 347342 [details]
WIP
Comment 8 Saam Barati 2018-08-17 01:19:13 PDT
Created attachment 347354 [details]
WIP
Comment 9 Saam Barati 2018-08-17 16:53:20 PDT
Created attachment 347415 [details]
WIP
Comment 10 Saam Barati 2018-08-19 14:03:23 PDT
Created attachment 347465 [details]
WIP
Comment 11 Saam Barati 2018-08-19 18:32:42 PDT
Created attachment 347476 [details]
WIP
Comment 12 EWS Watchlist 2018-08-19 20:36:58 PDT
Attachment 347476 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGNodeType.h:486:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 1 in 27 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 13 Saam Barati 2018-08-20 00:41:37 PDT
Created attachment 347484 [details]
WIP
Comment 14 Saam Barati 2018-08-20 17:27:34 PDT
Created attachment 347579 [details]
patch
Comment 15 EWS Watchlist 2018-08-20 18:31:57 PDT
Attachment 347579 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGNodeType.h:486:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 1 in 38 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 16 Michael Saboff 2018-08-20 18:37:36 PDT
Comment on attachment 347579 [details]
patch

r=me
Comment 17 Saam Barati 2018-08-20 22:37:40 PDT
Comment on attachment 347579 [details]
patch

Thanks for the review.
Comment 18 WebKit Commit Bot 2018-08-20 23:05:28 PDT
Comment on attachment 347579 [details]
patch

Clearing flags on attachment: 347579

Committed r235106: <https://trac.webkit.org/changeset/235106>
Comment 19 WebKit Commit Bot 2018-08-20 23:05:30 PDT
All reviewed patches have been landed.  Closing bug.
Comment 20 Dawei Fenton (:realdawei) 2018-08-22 09:53:28 PDT
(In reply to WebKit Commit Bot from comment #18)
> Comment on attachment 347579 [details]
> patch
> 
> Clearing flags on attachment: 347579
> 
> Committed r235106: <https://trac.webkit.org/changeset/235106>


Looks like test "microbenchmarks/data-view-accesses.js" added in this revision has been failing on 32-bit JSC ever since it was added:

https://build.webkit.org/builders/Apple%20High%20Sierra%2032-bit%20JSC%20%28BuildAndTest%29/builds/2469/steps/webkit-32bit-jsc-test/logs/stdio

microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: Timed out after 339.000000 sec seconds!
microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: 1   0x2a94bb WTFCrash
microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: 2   0x4c08e startTimeoutThreadIfNeeded()::$_7::operator()() const
microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: 3   0x4bf6a WTF::Function<void ()>::CallableWrapper<startTimeoutThreadIfNeeded()::$_7>::call()
microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: 4   0x2d5649 WTF::Function<void ()>::operator()() const
microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: 5   0x3711f1 WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*)
microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: 6   0x377c87 WTF::wtfThreadEntryPoint(void*)
microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: 7   0xa77044d5 _pthread_body
microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: 8   0xa770437a _pthread_body
microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: 9   0xa7703a56 thread_start
microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: test_script_12852: line 2: 24446 Segmentation fault: 11  ( "$@" ../../.vm/JavaScriptCore.framework/Resources/jsc --useFTLJIT\=false --useFunctionDotArguments\=true --validateExceptionChecks\=true --useDollarVM\=true --maxPerThreadStackUsage\=1572864 --forceCodeBlockToJettisonDueToOldAge\=true --validateGraph\=true --useMaximalFlushInsertionPhase\=true --useConcurrentJIT\=false --thresholdForJITAfterWarmUp\=100 --scribbleFreeCells\=true data-view-accesses.js )
microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: ERROR: Unexpected exit code: 139
Comment 21 Saam Barati 2018-08-22 11:37:01 PDT
(In reply to David Fenton (:realdawei) from comment #20)
> (In reply to WebKit Commit Bot from comment #18)
> > Comment on attachment 347579 [details]
> > patch
> > 
> > Clearing flags on attachment: 347579
> > 
> > Committed r235106: <https://trac.webkit.org/changeset/235106>
> 
> 
> Looks like test "microbenchmarks/data-view-accesses.js" added in this
> revision has been failing on 32-bit JSC ever since it was added:
> 
> https://build.webkit.org/builders/Apple%20High%20Sierra%2032-
> bit%20JSC%20%28BuildAndTest%29/builds/2469/steps/webkit-32bit-jsc-test/logs/
> stdio
> 
> microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit:
> Timed out after 339.000000 sec seconds!
> microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: 1 
> 0x2a94bb WTFCrash
> microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: 2 
> 0x4c08e startTimeoutThreadIfNeeded()::$_7::operator()() const
> microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: 3 
> 0x4bf6a WTF::Function<void
> ()>::CallableWrapper<startTimeoutThreadIfNeeded()::$_7>::call()
> microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: 4 
> 0x2d5649 WTF::Function<void ()>::operator()() const
> microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: 5 
> 0x3711f1 WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*)
> microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: 6 
> 0x377c87 WTF::wtfThreadEntryPoint(void*)
> microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: 7 
> 0xa77044d5 _pthread_body
> microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: 8 
> 0xa770437a _pthread_body
> microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit: 9 
> 0xa7703a56 thread_start
> microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit:
> test_script_12852: line 2: 24446 Segmentation fault: 11  ( "$@"
> ../../.vm/JavaScriptCore.framework/Resources/jsc --useFTLJIT\=false
> --useFunctionDotArguments\=true --validateExceptionChecks\=true
> --useDollarVM\=true --maxPerThreadStackUsage\=1572864
> --forceCodeBlockToJettisonDueToOldAge\=true --validateGraph\=true
> --useMaximalFlushInsertionPhase\=true --useConcurrentJIT\=false
> --thresholdForJITAfterWarmUp\=100 --scribbleFreeCells\=true
> data-view-accesses.js )
> microbenchmarks/data-view-accesses.js.dfg-maximal-flush-validate-no-cjit:
> ERROR: Unexpected exit code: 139

Ok we can make it run less.
Comment 22 Saam Barati 2018-08-22 11:54:03 PDT
Made the test run for less time in:
https://trac.webkit.org/changeset/235189/webkit

let me know if the issue still persists.