diff options
Diffstat (limited to 'src/wasm-interpreter.h')
-rw-r--r-- | src/wasm-interpreter.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index 69d6ff771..57ec65edd 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -1260,6 +1260,21 @@ public: NOTE_NAME(curr->func); return Literal::makeFunc(curr->func); } + Flow visitRefEq(RefEq* curr) { + NOTE_ENTER("RefEq"); + Flow flow = visit(curr->left); + if (flow.breaking()) { + return flow; + } + auto left = flow.getSingleValue(); + flow = visit(curr->right); + if (flow.breaking()) { + return flow; + } + auto right = flow.getSingleValue(); + NOTE_EVAL2(left, right); + return Literal(int32_t(left == right)); + } Flow visitTry(Try* curr) { WASM_UNREACHABLE("unimp"); } Flow visitThrow(Throw* curr) { NOTE_ENTER("Throw"); |