summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/tools/execution-results.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/tools/execution-results.h b/src/tools/execution-results.h
index bffc4e8f2..b8823c3f0 100644
--- a/src/tools/execution-results.h
+++ b/src/tools/execution-results.h
@@ -187,8 +187,8 @@ public:
Literals arguments;
for (const auto& param : func->getParams()) {
// An i64 param can work from JS, but fuzz_shell provides 0, which errors
- // on attempts to convert it to BigInt. v128 cannot work at all.
- if (param == Type::i64 || param == Type::v128) {
+ // on attempts to convert it to BigInt. v128 and exnref are disalloewd.
+ if (param == Type::i64 || param == Type::v128 || param.isExn()) {
throwEmptyException();
}
if (!param.isDefaultable()) {
@@ -200,9 +200,9 @@ public:
// Error on illegal results. Note that this happens, as per JS semantics,
// *before* the call.
for (const auto& result : func->getResults()) {
- // An i64 result is fine: a BigInt will be provided. But v128 still
- // errors.
- if (result == Type::v128) {
+ // An i64 result is fine: a BigInt will be provided. But v128 and exnref
+ // still error.
+ if (result == Type::v128 || result.isExn()) {
throwEmptyException();
}
}