Update WasmOMGIRGenerator32_64.cpp
e53afc56d9a5507765f2d1a041dc1f6e64cd2a7e
Update WasmOMGIRGenerator32_64.cpp https://bugs.webkit.org/show_bug.cgi?id=294413 Reviewed by NOBODY (OOPS!). Update to match the 64 bit version. The updates in detail: - Switch JSWebAssemblyArray.h include to JSWebAssemblyArrayInlines.h - Remove reduntant BitAnd 0x7fffffff from addRefI31. - Remove ConstIntPtrValue in favour or ConstPtrValue. - Add comments, rename variables, and typeset to match the 64 bit version. - Apply SIMD tracking changes (related to struct RootBlock), although they have no effect in the 32 bit version. - Use probeDebugSIMD instead of probeDebug, in addArguments, and prepareForTailCallImpl. - Reorder some lines to match the 64 bit version, in emitRefTestOrCast and in prepareForTailCallImpl. - Restore srcOffset from tmpSpill if clobbersTmp, in prepareForTailCallImpl. - Use WasmRefType() instead of Int64 in addTableSet, addRefI31, and emitCatchTableImpl. - Use callWasmOperation in emitRefTestOrCast. - Trivially use the unimplemented VectorMulHigh, VectorMulLow. - Add debugging info to match the 64 bit version. - 'Allow self recursion with limit' changes in canInline. - More changes from 'Do not use stored call-site-index for OMG' - Count try blocks when IPInt is enabled, in addLoop. - Switch signature() to m_signature in addElseToUnreachable. - Use m_currentBlock instead of block in emitCatchTableImpl. - Use makeUniqueWithoutFastMallocCheck in parseAndCompileOMG. * Source/JavaScriptCore/wasm/WasmOMGIRGenerator32_64.cpp: (JSC::Wasm::OMGIRGenerator::fixupPointerPlusOffset): (JSC::Wasm::OMGIRGenerator::OMGIRGenerator): (JSC::Wasm::OMGIRGenerator::insertEntrySwitch): (JSC::Wasm::OMGIRGenerator::insertConstants): (JSC::Wasm::OMGIRGenerator::addArguments): (JSC::Wasm::OMGIRGenerator::addRefFunc): (JSC::Wasm::OMGIRGenerator::load): (JSC::Wasm::OMGIRGenerator::emitStoreOp): (JSC::Wasm::OMGIRGenerator::addRefI31): (JSC::Wasm::OMGIRGenerator::emitRefTestOrCast): (JSC::Wasm::OMGIRGenerator::addSIMDExtmul): (JSC::Wasm::OMGIRGenerator::addLoop): (JSC::Wasm::OMGIRGenerator::addElseToUnreachable): (JSC::Wasm::OMGIRGenerator::emitCatchImpl): (JSC::Wasm::OMGIRGenerator::emitCatchTableImpl): (JSC::Wasm::prepareForTailCallImpl): (JSC::Wasm::OMGIRGenerator::canInline const): (JSC::Wasm::OMGIRGenerator::emitInlineDirectCall): (JSC::Wasm::OMGIRGenerator::addCall): (JSC::Wasm::OMGIRGenerator::addCallRef): (JSC::Wasm::parseAndCompileOMG):
https://github.com/WebKit/WebKit/commit/e53afc56d9a5507765f2d1a041dc1f6e64cd2a7e
EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/598de699198d313e506f5238a0e197512783561d)
Thanks @ioannad, those all look straightforward to me and this significantly reduces the diff to the 64-bit version.
EWS run on current version of this PR (hash https://github.com/WebKit/WebKit/commit/e53afc56d9a5507765f2d1a041dc1f6e64cd2a7e)
The ref-i31-eq.js failure turned out to be an issue in WasmBBQJIT32_64.cpp, which was fixed with PR #46970, so I updated this with PR all the changes, also including ones that I was suspecting were involved with the failure.
This PR now brings WasmOMGIRGenerator32_64.cpp up to date with the 64 bit version in WasmOMGIRGenerator.cpp.
Since @aoikonomopoulos already reviewed the previous version of the changes, here is what I added with the force push:
- Switch JSWebAssemblyArray.h include to JSWebAssemblyArrayInlines.h
- Remove reduntant BitAnd 0x7fffffff from addRefI31.
- Restore srcOffset from tmpSpill if clobbersTmp, in prepareForTailCallImpl.
Committed 296580@main (d934b72704ab): https://commits.webkit.org/296580@main
Reviewed commits have been landed. Closing PR #46678 and removing active labels.