diff options
Diffstat (limited to 'src/wasm-interpreter.h')
-rw-r--r-- | src/wasm-interpreter.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index 292d6a521..5d4e7d7b4 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -155,18 +155,19 @@ public: Flow visitBreak(Break *curr) { NOTE_ENTER("Break"); bool condition = true; - Flow flow(curr->name); + Flow flow; if (curr->value) { flow = visit(curr->value); if (flow.breaking()) return flow; - flow.breakTo = curr->name; } if (curr->condition) { Flow conditionFlow = visit(curr->condition); if (conditionFlow.breaking()) return conditionFlow; condition = conditionFlow.value.getInteger() != 0; + if (!condition) return flow; } - return condition ? flow : Flow(); + flow.breakTo = curr->name; + return flow; } Flow visitSwitch(Switch *curr) { NOTE_ENTER("Switch"); |