[webkit-changes] [WebKit/WebKit] 2b1711: Fix WASM SIMD unreachable parsing.
Justin Michaud
noreply at github.com
Tue Dec 13 13:55:33 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 2b1711fcb7c70e00cd95c8cce096d1a6af32a21d
https://github.com/WebKit/WebKit/commit/2b1711fcb7c70e00cd95c8cce096d1a6af32a21d
Author: Justin Michaud <justin_michaud at apple.com>
Date: 2022-12-13 (Tue, 13 Dec 2022)
Changed paths:
A JSTests/wasm/stress/simd-unreachable.js
M Source/JavaScriptCore/wasm/WasmFunctionParser.h
Log Message:
-----------
Fix WASM SIMD unreachable parsing.
https://bugs.webkit.org/show_bug.cgi?id=249190
Reviewed by Mark Lam.
The LLInt is responsible for validating SIMD modules. We do a really
strange (and totally incorrect) kind of lax validation for unreachable
code ostensibly to improve performance. For regular ops, this means we
do not do any pushing or popping from the stack.
This patch makes SIMD code act the same way, so that once we enter
reachable code again, the state of our expression stack is reasonable.
* JSTests/wasm/stress/simd-unreachable.js: Added.
(async test):
* Source/JavaScriptCore/wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser<Context>::simd):
(JSC::Wasm::FunctionParser<Context>::parseExpression):
Canonical link: https://commits.webkit.org/257812@main
More information about the webkit-changes
mailing list