diff options
Diffstat (limited to 'src/wasm/wasm.cpp')
-rw-r--r-- | src/wasm/wasm.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/wasm/wasm.cpp b/src/wasm/wasm.cpp index c857b202c..738823d66 100644 --- a/src/wasm/wasm.cpp +++ b/src/wasm/wasm.cpp @@ -210,6 +210,30 @@ const char* getExpressionName(Expression* curr) { return "i31.new"; case Expression::Id::I31GetId: return "i31.get"; + case Expression::Id::RefTestId: + return "ref.test"; + case Expression::Id::RefCastId: + return "ref.cast"; + case Expression::Id::BrOnCastId: + return "br_on_cast"; + case Expression::Id::RttCanonId: + return "rtt.canon"; + case Expression::Id::RttSubId: + return "rtt.sub"; + case Expression::Id::StructNewId: + return "struct.new"; + case Expression::Id::StructGetId: + return "struct.get"; + case Expression::Id::StructSetId: + return "struct.set"; + case Expression::Id::ArrayNewId: + return "array.new"; + case Expression::Id::ArrayGetId: + return "array.get"; + case Expression::Id::ArraySetId: + return "array.set"; + case Expression::Id::ArrayLenId: + return "array.len"; case Expression::Id::NumExpressionIds: WASM_UNREACHABLE("invalid expr id"); } @@ -986,6 +1010,19 @@ void I31Get::finalize() { } } +// TODO (gc): ref.test +// TODO (gc): ref.cast +// TODO (gc): br_on_cast +// TODO (gc): rtt.canon +// TODO (gc): rtt.sub +// TODO (gc): struct.new +// TODO (gc): struct.get +// TODO (gc): struct.set +// TODO (gc): array.new +// TODO (gc): array.get +// TODO (gc): array.set +// TODO (gc): array.len + size_t Function::getNumParams() { return sig.params.size(); } size_t Function::getNumVars() { return vars.size(); } |