-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[JSC] Fix jitCompileSIMDFunction when recompiling the same function with a compiled replacement in different mode #28726
[JSC] Fix jitCompileSIMDFunction when recompiling the same function with a compiled replacement in different mode #28726
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r=me
d448aca
to
552350a
Compare
EWS run on previous version of this PR (hash 552350a)
|
552350a
to
46daa9e
Compare
EWS run on previous version of this PR (hash 46daa9e)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r=me with comment.
46daa9e
to
10f4081
Compare
EWS run on previous version of this PR (hash 10f4081)
|
10f4081
to
69e92c9
Compare
EWS run on previous version of this PR (hash 69e92c9)
|
69e92c9
to
5594010
Compare
EWS run on previous version of this PR (hash 5594010)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, not use FixedVector. This is super inefficient here since it is heap allocated.
5594010
to
ea3336a
Compare
EWS run on current version of this PR (hash ea3336a)
|
β¦ith a compiled replacement in different mode https://bugs.webkit.org/show_bug.cgi?id=274327 rdar://128141991 Reviewed by Mark Lam and Yusuke Suzuki. We might encounter a situation that a WASM SIMD function was previously compiled with the fast memory in a Signaling mode, but failed and tried to recompile the same function in a BoundsChecking mode. In that case, we should allow it to be compiled. To fix this issue, the compilation status should be tracked and updated for each memory mode. This patch fixes all the potential issues among WasmIPIntTierUpCounter.h, WasmLLIntTierUpCounter.h, and WasmTierUpCount.h. * Source/JavaScriptCore/runtime/MemoryMode.h: * Source/JavaScriptCore/wasm/WasmBBQPlan.cpp: (JSC::Wasm::BBQPlan::work): * Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.cpp: (JSC::IPInt::jitCompileAndSetHeuristics): (JSC::IPInt::WASM_IPINT_EXTERN_CPP_DECL): * Source/JavaScriptCore/wasm/WasmIPIntTierUpCounter.h: (JSC::Wasm::IPIntTierUpCounter::IPIntTierUpCounter): (JSC::Wasm::IPIntTierUpCounter::compilationStatus): (JSC::Wasm::IPIntTierUpCounter::setCompilationStatus): (JSC::Wasm::IPIntTierUpCounter::loopCompilationStatus): (JSC::Wasm::IPIntTierUpCounter::setLoopCompilationStatus): (): Deleted. * Source/JavaScriptCore/wasm/WasmLLIntTierUpCounter.h: (JSC::Wasm::LLIntTierUpCounter::LLIntTierUpCounter): (JSC::Wasm::LLIntTierUpCounter::compilationStatus): (JSC::Wasm::LLIntTierUpCounter::setCompilationStatus): (JSC::Wasm::LLIntTierUpCounter::loopCompilationStatus): (JSC::Wasm::LLIntTierUpCounter::setLoopCompilationStatus): (): Deleted. * Source/JavaScriptCore/wasm/WasmOMGPlan.cpp: (JSC::Wasm::OMGPlan::work): * Source/JavaScriptCore/wasm/WasmOSREntryPlan.cpp: (JSC::Wasm::OSREntryPlan::work): * Source/JavaScriptCore/wasm/WasmOperations.cpp: (JSC::Wasm::triggerOMGReplacementCompile): (JSC::Wasm::JSC_DEFINE_JIT_OPERATION): * Source/JavaScriptCore/wasm/WasmPlan.h: (JSC::Wasm::Plan::mode const): * Source/JavaScriptCore/wasm/WasmSlowPaths.cpp: (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::jitCompileSIMDFunction): (JSC::LLInt::WASM_SLOW_PATH_DECL): * Source/JavaScriptCore/wasm/WasmTierUpCount.cpp: (JSC::Wasm::TierUpCount::TierUpCount): * Source/JavaScriptCore/wasm/WasmTierUpCount.h: (JSC::Wasm::TierUpCount::compilationStatusForOMG): (JSC::Wasm::TierUpCount::setCompilationStatusForOMG): (JSC::Wasm::TierUpCount::compilationStatusForOMGForOSREntry): (JSC::Wasm::TierUpCount::setCompilationStatusForOMGForOSREntry): (): Deleted. Canonical link: https://commits.webkit.org/278957@main
ea3336a
to
b53bf30
Compare
Committed 278957@main (b53bf30): https://commits.webkit.org/278957@main Reviewed commits have been landed. Closing PR #28726 and removing active labels. |
b53bf30
ea3336a