aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/asm_wasm.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/asm_wasm.s')
-rw-r--r--src/runtime/asm_wasm.s15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/runtime/asm_wasm.s b/src/runtime/asm_wasm.s
index a10c89d298..8f3964f08b 100644
--- a/src/runtime/asm_wasm.s
+++ b/src/runtime/asm_wasm.s
@@ -37,17 +37,12 @@ TEXT runtimeĀ·gogo(SB), NOSPLIT, $0-8
MOVD gobuf_g(R0), g
MOVD gobuf_sp(R0), SP
+ // Put target PC at -8(SP), wasm_pc_f_loop will pick it up
+ Get SP
+ I32Const $8
+ I32Sub
I64Load gobuf_pc(R0)
- I32WrapI64
- I32Const $16
- I32ShrU
- Set PC_F
-
- I64Load gobuf_pc(R0)
- I64Const $0xFFFF
- I64And
- I32WrapI64
- Set PC_B
+ I64Store $0
MOVD gobuf_ret(R0), RET0
MOVD gobuf_ctxt(R0), CTXT