Enable JIT and FTL by default on the Windows Port#32972
Enable JIT and FTL by default on the Windows Port#32972webkit-commit-queue merged 1 commit intoWebKit:mainfrom
Conversation
|
EWS run on previous version of this PR (hash f3d58df) Details |
There was a problem hiding this comment.
This change looks strange as using return does not make it tail-call (since it is not a strict mode code).
There was a problem hiding this comment.
Yep - this test was failing because Window's main thread stack size was only 1MB so it'd overflow the call stack well and truly before the other platforms.
Not 100% sure why adding the return caused it to not stack overflow, I'm surprised that would've changed the number of call frames or size of the call frames.
There was a problem hiding this comment.
Can you fix the Windows' output instead of changing the test?
There was a problem hiding this comment.
Yep - I still have to address this, I didn't notice I hadn't fully reverted my changes to this test file before pushing.
Source/cmake/WebKitFeatures.cmake
Outdated
There was a problem hiding this comment.
This code was added by me to disable JIT for Windows.
#28269
Can we just remove this code?
f3d58df to
472cabf
Compare
|
EWS run on previous version of this PR (hash 472cabf) Details |
472cabf to
8265788
Compare
|
EWS run on current version of this PR (hash 8265788) Details |
Source/cmake/OptionsMSVC.cmake
Outdated
There was a problem hiding this comment.
Why does Windows port need such a big 8MB stack? Other port doesn't seem to use such a big stack.
WebKit/Source/WTF/wtf/Threading.cpp
Lines 108 to 141 in 4d33c93
There was a problem hiding this comment.
We need a larger stack for the main thread - the JSTests/stress/object-create-will-do-transition.js test was overflowing the call stack. Mac and Linux both have 8MB stack size for the main thread, but with a 1MB stack size on Windows we're overflowing before we get close to the 1.5MB maxPerThreadStackUsage set for jsc stress tests.
We could update Threading.cpp#stackSize to keep a 1MB stack for other threads, we only need the increased stack size on the main thread.
https://bugs.webkit.org/show_bug.cgi?id=278878 Reviewed by Yusuke Suzuki. CodeBlock is 8 bytes larger on Windows - upping the static_assert. Bumping the stack size for the main process from the Windows default 1MB up to 8MB to match Mac and Linux, which fixes a stack overflow in test JSTests/stress/object-create-will-do-transition.js get-array-length-concurrently-change-mode.js adds an explicit time check as the watchdog isn't firing. Likely a bug / problem in RunLoopWin if this works on other platforms. Making PrintStream printInternal add the 0x prefix to pointers on Windows, fixing dfg-ai-direct-get-by-id-attribute-change-transition.js There are still some test failures in JSC stress tests, but with the exception of wasm/gc/array_new_fixed_long.js the remaining failures are unrelated to JIT. * JSTests/stress/get-array-length-concurrently-change-mode.js: (main): * Source/JavaScriptCore/bytecode/CodeBlock.h: * Source/WTF/wtf/PrintStream.cpp: (WTF::printInternal): * Source/cmake/OptionsMSVC.cmake: * Source/cmake/WebKitFeatures.cmake: Canonical link: https://commits.webkit.org/284574@main
8265788 to
847f97e
Compare
|
Committed 284574@main (847f97e): https://commits.webkit.org/284574@main Reviewed commits have been landed. Closing PR #32972 and removing active labels. |
847f97e
8265788