diff options
author | Daniel Wirtz <dcode@dcode.io> | 2020-09-29 22:19:09 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-29 22:19:09 +0200 |
commit | 7d673ce83206349159a68fe683bc7da02dcdaf98 (patch) | |
tree | b6be0e5842b8726406c50e9481531cf456db326f /src/wasm-interpreter.h | |
parent | 781da4c206c54e92b46358c00d079ada66cef0df (diff) | |
download | binaryen-7d673ce83206349159a68fe683bc7da02dcdaf98.tar.gz binaryen-7d673ce83206349159a68fe683bc7da02dcdaf98.tar.bz2 binaryen-7d673ce83206349159a68fe683bc7da02dcdaf98.zip |
GC: Add stubs for the remaining instructions (#3174)
NFC, except adding most of the boilerplate for the remaining GC instructions. Each implementation site is marked with a respective `TODO (gc): theInstruction` in between the typical boilerplate code.
Diffstat (limited to 'src/wasm-interpreter.h')
-rw-r--r-- | src/wasm-interpreter.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index 4f3de9078..e44ffca3a 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -1344,6 +1344,54 @@ public: NOTE_EVAL1(value); return Literal(value.geti31(curr->signed_)); } + Flow visitRefTest(RefTest* curr) { + NOTE_ENTER("RefTest"); + WASM_UNREACHABLE("TODO (gc): ref.test"); + } + Flow visitRefCast(RefCast* curr) { + NOTE_ENTER("RefCast"); + WASM_UNREACHABLE("TODO (gc): ref.cast"); + } + Flow visitBrOnCast(BrOnCast* curr) { + NOTE_ENTER("BrOnCast"); + WASM_UNREACHABLE("TODO (gc): br_on_cast"); + } + Flow visitRttCanon(RttCanon* curr) { + NOTE_ENTER("RttCanon"); + WASM_UNREACHABLE("TODO (gc): rtt.canon"); + } + Flow visitRttSub(RttSub* curr) { + NOTE_ENTER("RttSub"); + WASM_UNREACHABLE("TODO (gc): rtt.sub"); + } + Flow visitStructNew(StructNew* curr) { + NOTE_ENTER("StructNew"); + WASM_UNREACHABLE("TODO (gc): struct.new"); + } + Flow visitStructGet(StructGet* curr) { + NOTE_ENTER("StructGet"); + WASM_UNREACHABLE("TODO (gc): struct.get"); + } + Flow visitStructSet(StructSet* curr) { + NOTE_ENTER("StructSet"); + WASM_UNREACHABLE("TODO (gc): struct.set"); + } + Flow visitArrayNew(ArrayNew* curr) { + NOTE_ENTER("ArrayNew"); + WASM_UNREACHABLE("TODO (gc): array.new"); + } + Flow visitArrayGet(ArrayGet* curr) { + NOTE_ENTER("ArrayGet"); + WASM_UNREACHABLE("TODO (gc): array.get"); + } + Flow visitArraySet(ArraySet* curr) { + NOTE_ENTER("ArraySet"); + WASM_UNREACHABLE("TODO (gc): array.set"); + } + Flow visitArrayLen(ArrayLen* curr) { + NOTE_ENTER("ArrayLen"); + WASM_UNREACHABLE("TODO (gc): array.len"); + } virtual void trap(const char* why) { WASM_UNREACHABLE("unimp"); } |