diff options
author | Alon Zakai <azakai@google.com> | 2022-08-01 13:23:39 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-01 20:23:39 +0000 |
commit | 67459642f1d3cfdb74190a83aa1228cfa7332ecd (patch) | |
tree | 3ecc03bc9ffc2f7e7d74eafe36490face1ed291f /src/ir/intrinsics.cpp | |
parent | f5ea1f3a9f030d43448db41629dc9b4ae84f3b32 (diff) | |
download | binaryen-67459642f1d3cfdb74190a83aa1228cfa7332ecd.tar.gz binaryen-67459642f1d3cfdb74190a83aa1228cfa7332ecd.tar.bz2 binaryen-67459642f1d3cfdb74190a83aa1228cfa7332ecd.zip |
Add interpreter support for intrinsics (#4851)
This can give us some chance to catch bugs like #4839 in the fuzzer.
Diffstat (limited to 'src/ir/intrinsics.cpp')
-rw-r--r-- | src/ir/intrinsics.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/ir/intrinsics.cpp b/src/ir/intrinsics.cpp index c2318cabf..26b624391 100644 --- a/src/ir/intrinsics.cpp +++ b/src/ir/intrinsics.cpp @@ -19,11 +19,17 @@ namespace wasm { -static Name BinaryenIntrinsics("binaryen-intrinsics"), +static Name BinaryenIntrinsicsModule("binaryen-intrinsics"), CallWithoutEffects("call.without.effects"); bool Intrinsics::isCallWithoutEffects(Function* func) { - return func->module == BinaryenIntrinsics && func->base == CallWithoutEffects; + if (func->module != BinaryenIntrinsicsModule) { + return false; + } + if (func->base == CallWithoutEffects) { + return true; + } + Fatal() << "Unrecognized intrinsic"; } Call* Intrinsics::isCallWithoutEffects(Expression* curr) { |