diff options
author | Alon Zakai <azakai@google.com> | 2021-03-03 00:03:11 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-02 16:03:11 -0800 |
commit | 760a51bd15a51f02bc1c75087a9cd9e11b9f27bb (patch) | |
tree | 9add44367e78e9bc1eea88dbebdf212ff09fa351 /src/wasm/wasm-s-parser.cpp | |
parent | 5f88277c4bddc097d2f073e41488889f02b08103 (diff) | |
download | binaryen-760a51bd15a51f02bc1c75087a9cd9e11b9f27bb.tar.gz binaryen-760a51bd15a51f02bc1c75087a9cd9e11b9f27bb.tar.bz2 binaryen-760a51bd15a51f02bc1c75087a9cd9e11b9f27bb.zip |
[Wasm GC] ref.cast and ref.test should have zero immediates (#3641)
This updates them to be correct in the current spec and prototype v3.
Diffstat (limited to 'src/wasm/wasm-s-parser.cpp')
-rw-r--r-- | src/wasm/wasm-s-parser.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 11121ced6..0b0f3f407 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -2561,18 +2561,14 @@ Expression* SExpressionWasmBuilder::makeI31Get(Element& s, bool signed_) { } Expression* SExpressionWasmBuilder::makeRefTest(Element& s) { - auto heapType = parseHeapType(*s[1]); - auto* ref = parseExpression(*s[2]); - auto* rtt = parseExpression(*s[3]); - validateHeapTypeUsingChild(rtt, heapType, s); + auto* ref = parseExpression(*s[1]); + auto* rtt = parseExpression(*s[2]); return Builder(wasm).makeRefTest(ref, rtt); } Expression* SExpressionWasmBuilder::makeRefCast(Element& s) { - auto heapType = parseHeapType(*s[1]); - auto* ref = parseExpression(*s[2]); - auto* rtt = parseExpression(*s[3]); - validateHeapTypeUsingChild(rtt, heapType, s); + auto* ref = parseExpression(*s[1]); + auto* rtt = parseExpression(*s[2]); return Builder(wasm).makeRefCast(ref, rtt); } |