gcc-loops-wasm shows that we should do OSR entry to execute hot code in OMG.
By using bug 200329's patch, we get the following output. This indicates that gcc-loops-wasm stays on BBQ tier because the hottest function includes the loop inside it and we cannot tier up to OMG! Starting JetStream2 Running gcc-loops-wasm: Startup: 227.273 Run time: 0.588 Score: 11.561 Startup: 227.273 Runtime: 0.588 Total Score: 11.561 Sampling rate: 1000.000000 microseconds Top functions as <numSamples 'functionName:sourceID'> 2603 '<?>.wasm-function[38]:-1' 1494 '<?>.wasm-function[39]:-1' 1004 '<?>.wasm-function[36]:-1' 965 '<?>.wasm-function[35]:-1' 325 '<?>.wasm-function[34]:-1' 202 '<?>.wasm-function[546]:-1' 16 '<?>.wasm-function[40]:-1' 3 'loadString:-1' 3 '<?>.wasm-function[37]:-1' 2 'load:-1' 1 'prepareToRun:2' 1 '(unknown):-1' Sampling rate: 1000.000000 microseconds Hottest bytecodes as <numSamples 'functionName#hash:JITType:bytecodeIndex'> 2603 '<?>.wasm-function[38]#<nil>:BBQ:<nil>' 1494 '<?>.wasm-function[39]#<nil>:BBQ:<nil>' 1004 '<?>.wasm-function[36]#<nil>:BBQ:<nil>' 965 '<?>.wasm-function[35]#<nil>:BBQ:<nil>' 324 '<?>.wasm-function[34]#<nil>:OMG:<nil>' 202 '<?>.wasm-function[546]#<nil>:OMG:<nil>' 16 '<?>.wasm-function[40]#<nil>:BBQ:<nil>' 3 'loadString#<nil>:None:<nil>' 3 '<?>.wasm-function[37]#<nil>:BBQ:<nil>' 2 'load#<nil>:None:<nil>' 1 'createStandardStreams#Asr3FY:LLInt:387' 1 'filter#CXE8tr:Baseline:81' 1 'newPromiseCapability#DzQl2X:Baseline:91' 1 'prepareToRun#DqWFYU:LLInt:129' 1 'callRuntimeCallbacks#EYZrDM:LLInt:200' 1 'updateGlobalBufferViews#AqvIC2:LLInt:85' 1 '(unknown)#<nil>:None:<nil>' 1 '#<nil>:None:<nil>' 1 '<?>.wasm-function[34]#<nil>:BBQ:<nil>' 1 'doRun#C0pLVZ:LLInt:20191' 1 '#A7TOIG:LLInt:22' 1 'instantiateArrayBuffer#ALPYQ8:LLInt:22' 1 'fulfillPromise#AuvX5q:Baseline:95'
Created attachment 375479 [details] Patch
Created attachment 375601 [details] Patch
Attachment 375601 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/wasm/WasmInstance.h:154: The parameter name "size" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:247: Extra space before last semicolon. If this should be an empty statement, use { } instead. [whitespace/semicolon] [5] ERROR: Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:249: Extra space before last semicolon. If this should be an empty statement, use { } instead. [whitespace/semicolon] [5] Total errors found: 3 in 21 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 375604 [details] Patch
Attachment 375604 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp:1728: One line control clauses should not use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/wasm/WasmInstance.h:154: The parameter name "size" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:247: Extra space before last semicolon. If this should be an empty statement, use { } instead. [whitespace/semicolon] [5] ERROR: Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:249: Extra space before last semicolon. If this should be an empty statement, use { } instead. [whitespace/semicolon] [5] Total errors found: 4 in 21 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 375604 [details] Patch Attachment 375604 [details] did not pass mac-debug-ews (mac): Output: https://webkit-queues.webkit.org/results/12867878 New failing tests: workers/wasm-hashset.html
Created attachment 375613 [details] Archive of layout-test-results from ews114 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews114 Port: mac-highsierra Platform: Mac OS X 10.13.6
Created attachment 375636 [details] Patch
Attachment 375636 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp:1728: One line control clauses should not use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/wasm/WasmInstance.h:154: The parameter name "size" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:248: Extra space before last semicolon. If this should be an empty statement, use { } instead. [whitespace/semicolon] [5] ERROR: Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:250: Extra space before last semicolon. If this should be an empty statement, use { } instead. [whitespace/semicolon] [5] Total errors found: 4 in 21 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 375636 [details] Patch Attachment 375636 [details] did not pass jsc-ews (mac): Output: https://webkit-queues.webkit.org/results/12870069 New failing tests: mozilla-tests.yaml/js1_5/Array/regress-101964.js.mozilla-ftl-eager-no-cjit-validate-phases
Created attachment 375652 [details] Patch
Created attachment 375715 [details] Patch
Created attachment 375719 [details] Patch
Attachment 375719 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:248: Extra space before last semicolon. If this should be an empty statement, use { } instead. [whitespace/semicolon] [5] ERROR: Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:250: Extra space before last semicolon. If this should be an empty statement, use { } instead. [whitespace/semicolon] [5] ERROR: Source/JavaScriptCore/wasm/WasmInstance.h:154: The parameter name "size" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp:1722: One line control clauses should not use braces. [whitespace/braces] [4] Total errors found: 4 in 24 files If any of these errors are false positives, please file a bug against check-webkit-style.
<rdar://problem/53833250>
Comment on attachment 375719 [details] Patch Attachment 375719 [details] did not pass jsc-ews (mac): Output: https://webkit-queues.webkit.org/results/12875060 New failing tests: mozilla-tests.yaml/js1_5/Array/regress-101964.js.mozilla-no-ftl
Created attachment 375784 [details] Patch
Comment on attachment 375784 [details] Patch Attachment 375784 [details] did not pass jsc-ews (mac): Output: https://webkit-queues.webkit.org/results/12877458 New failing tests: mozilla-tests.yaml/js1_5/Array/regress-101964.js.mozilla-llint
Created attachment 375788 [details] Patch
Comment on attachment 375788 [details] Patch Attachment 375788 [details] did not pass jsc-ews (mac): Output: https://webkit-queues.webkit.org/results/12878263 New failing tests: mozilla-tests.yaml/js1_5/Array/regress-101964.js.mozilla-llint
Created attachment 375895 [details] Patch
Now, gcc-loops-wasm's Runtime score gets 4x higher. I'll fix the thing bloating OSR entry code in Air, and finalize this patch :)
Created attachment 376126 [details] Patch
Created attachment 376130 [details] Patch
Created attachment 376139 [details] Patch
Created attachment 376146 [details] Patch
Created attachment 376227 [details] Patch
Created attachment 376240 [details] Patch
Attachment 376240 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1064: More than one command on the same line [whitespace/newline] [4] Total errors found: 1 in 49 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 376240 [details] Patch Attachment 376240 [details] did not pass jsc-ews (mac): Output: https://webkit-queues.webkit.org/results/12909069 New failing tests: wasm.yaml/wasm/stress/osr-entry-basic.js.wasm-no-air wasm.yaml/wasm/stress/osr-entry-many-locals-f32.js.wasm-no-air wasm.yaml/wasm/stress/osr-entry-many-stacks-f32.js.wasm-no-air
Created attachment 376255 [details] Patch
Attachment 376255 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1064: More than one command on the same line [whitespace/newline] [4] Total errors found: 1 in 49 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 376255 [details] Patch Attachment 376255 [details] did not pass jsc-ews (mac): Output: https://webkit-queues.webkit.org/results/12909856 New failing tests: wasm.yaml/wasm/stress/osr-entry-many-stacks-f32.js.wasm-no-air mozilla-tests.yaml/js1_5/Array/regress-101964.js.mozilla-no-ftl
Created attachment 376366 [details] Patch
Attachment 376366 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1064: More than one command on the same line [whitespace/newline] [4] Total errors found: 1 in 47 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 376424 [details] Patch
Attachment 376424 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1064: More than one command on the same line [whitespace/newline] [4] Total errors found: 1 in 47 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 376426 [details] Patch
Attachment 376426 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1064: More than one command on the same line [whitespace/newline] [4] Total errors found: 1 in 47 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 376474 [details] Patch
Attachment 376474 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:203: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1064: More than one command on the same line [whitespace/newline] [4] Total errors found: 2 in 47 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 376536 [details] Patch Add wasm-eager
Attachment 376536 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:203: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1064: More than one command on the same line [whitespace/newline] [4] Total errors found: 2 in 49 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 376537 [details] Patch Add wasm-eager
Attachment 376537 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:203: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1064: More than one command on the same line [whitespace/newline] [4] Total errors found: 2 in 49 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 376633 [details] Patch Rebaseline
Attachment 376633 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:203: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1064: More than one command on the same line [whitespace/newline] [4] Total errors found: 2 in 48 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 376634 [details] Patch Rebaseline
Attachment 376634 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:203: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1064: More than one command on the same line [whitespace/newline] [4] Total errors found: 2 in 48 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 376634 [details] Patch std::make_unique things are replaced to makeUnique later.
Created attachment 376675 [details] Patch Rebaseline, using makeUnique
Attachment 376675 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:203: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1064: More than one command on the same line [whitespace/newline] [4] Total errors found: 2 in 48 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 376675 [details] Patch r=me
Committed r248878: <https://trac.webkit.org/changeset/248878>