diff options
-rw-r--r-- | tools/js-optimizer.js | 4 | ||||
-rw-r--r-- | tools/test-js-optimizer-asm-outline1-output.js | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/tools/js-optimizer.js b/tools/js-optimizer.js index 5c80abb6..550bd685 100644 --- a/tools/js-optimizer.js +++ b/tools/js-optimizer.js @@ -3210,13 +3210,13 @@ function outline(ast) { if (codeInfo.hasReturnInt) { reps.push(makeIf( makeComparison(makeAsmCoercion(makeStackAccess(ASM_INT, asmData.controlStackPos), ASM_INT), '==', ['num', CONTROL_RETURN_INT]), - [['stat', ['return', makeStackAccess(ASM_INT, asmData.controlDataStackPos)]]] + [['stat', ['return', makeAsmCoercion(makeStackAccess(ASM_INT, asmData.controlDataStackPos), ASM_INT)]]] )); } if (codeInfo.hasReturnDouble) { reps.push(makeIf( makeComparison(makeAsmCoercion(makeStackAccess(ASM_INT, asmData.controlStackPos), ASM_INT), '==', ['num', CONTROL_RETURN_DOUBLE]), - [['stat', ['return', makeStackAccess(ASM_DOUBLE, asmData.controlDataStackPos)]]] + [['stat', ['return', makeAsmCoercion(makeStackAccess(ASM_DOUBLE, asmData.controlDataStackPos), ASM_DOUBLE)]]] )); } if (codeInfo.hasBreak) { diff --git a/tools/test-js-optimizer-asm-outline1-output.js b/tools/test-js-optimizer-asm-outline1-output.js index 78bfcb88..c6a972d0 100644 --- a/tools/test-js-optimizer-asm-outline1-output.js +++ b/tools/test-js-optimizer-asm-outline1-output.js @@ -38,7 +38,7 @@ function lin3() { lin3$0(sp); if ((HEAP32[sp + 0 >> 2] | 0) == 6) { STACKTOP = sp; - return HEAP32[sp + 8 >> 2]; + return HEAP32[sp + 8 >> 2] | 0; } } STACKTOP = sp; |