summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/wasm2asm.h9
-rw-r--r--test/unit.2asm.js2
2 files changed, 3 insertions, 8 deletions
diff --git a/src/wasm2asm.h b/src/wasm2asm.h
index f139b58dd..a336c4a50 100644
--- a/src/wasm2asm.h
+++ b/src/wasm2asm.h
@@ -710,12 +710,7 @@ Ref Wasm2AsmBuilder::processFunctionBody(Expression* curr, IString result) {
Unary fakeUnary = *curr;
fakeUnary.value = &fakeLocal;
Ref ret = blockify(visitAndAssign(curr->value, temp));
- ret[1]->push_back(ValueBuilder::makeStatement(
- ValueBuilder::makeAssign(
- result,
- visit(&fakeUnary, result)
- )
- ));
+ ret[1]->push_back(visitAndAssign(&fakeUnary, result));
return ret;
}
// normal unary
@@ -768,7 +763,7 @@ Ref Wasm2AsmBuilder::processFunctionBody(Expression* curr, IString result) {
fakeBinary.right = &fakeLocalRight;
Ref ret = blockify(visitAndAssign(curr->left, tempLeft));
ret[1]->push_back(visitAndAssign(curr->right, tempRight));
- ret[1]->push_back(visit(&fakeBinary, result));
+ ret[1]->push_back(visitAndAssign(&fakeBinary, result));
return ret;
}
// normal binary
diff --git a/test/unit.2asm.js b/test/unit.2asm.js
index f85c89f0c..3b33b2a86 100644
--- a/test/unit.2asm.js
+++ b/test/unit.2asm.js
@@ -76,7 +76,7 @@ function asmFunc() {
3.2;
wasm2asm_f64$2 = 4.2;
}
- +(wasm2asm_f64$1 - wasm2asm_f64$2)
+ wasm2asm_f64$0 = +(wasm2asm_f64$1 - wasm2asm_f64$2);
J = wasm2asm_f64$0;
}
}