aboutsummaryrefslogtreecommitdiff
path: root/src/vm_ppcspe.dasc
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm_ppcspe.dasc')
-rw-r--r--src/vm_ppcspe.dasc11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/vm_ppcspe.dasc b/src/vm_ppcspe.dasc
index ab2d7670..cbd6ecdd 100644
--- a/src/vm_ppcspe.dasc
+++ b/src/vm_ppcspe.dasc
@@ -294,10 +294,13 @@ static void build_subroutines(BuildCtx *ctx)
294 | stwu TMP1, FRAME_PC(RA) // Prepend true to results. 294 | stwu TMP1, FRAME_PC(RA) // Prepend true to results.
295 | 295 |
296 |->vm_returnc: 296 |->vm_returnc:
297 | andi. TMP0, PC, FRAME_TYPE 297 | addi RD, RD, 8 // RD = (nresults+1)*8.
298 | addi RD, RD, 8 // RD = (nresults+1)*8. 298 | andi. TMP0, PC, FRAME_TYPE
299 | mr MULTRES, RD 299 | cmpwi cr1, RD, 0
300 | beq ->BC_RET_Z // Handle regular return to Lua. 300 | li CRET1, LUA_YIELD
301 | beq cr1, ->vm_unwind_c_eh
302 | mr MULTRES, RD
303 | beq ->BC_RET_Z // Handle regular return to Lua.
301 | 304 |
302 |->vm_return: 305 |->vm_return:
303 | // BASE = base, RA = resultptr, RD/MULTRES = (nresults+1)*8, PC = return 306 | // BASE = base, RA = resultptr, RD/MULTRES = (nresults+1)*8, PC = return