wasm: Don't try to print the function results if it traps

This commit is contained in:
Ali Mohammad Pur 2021-07-13 00:36:50 +04:30
parent 23b48f8fe1
commit bacf5a7220
Notes: sideshowbarker 2024-07-18 08:54:48 +09:00

View File

@ -512,14 +512,16 @@ int main(int argc, char* argv[])
if (debug)
launch_repl();
if (result.is_trap())
warnln("Execution trapped!");
if (!result.values().is_empty())
warnln("Returned:");
for (auto& value : result.values()) {
Wasm::Printer printer { stream };
g_stdout.write(" -> "sv.bytes());
g_printer.print(value);
if (result.is_trap()) {
warnln("Execution trapped: {}", result.trap().reason);
} else {
if (!result.values().is_empty())
warnln("Returned:");
for (auto& value : result.values()) {
Wasm::Printer printer { stream };
g_stdout.write(" -> "sv.bytes());
g_printer.print(value);
}
}
}
}