diff options
author | Mike Pall <mike> | 2012-01-23 19:13:26 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2012-01-23 19:13:26 +0100 |
commit | 0a8fd0af8cf62d2c29f3c9c05630753538582598 (patch) | |
tree | 3af4af03dd811968266ac3be4d25bd38d1301c18 /src | |
parent | 93a71f6a52538b49c4ac0d34a9d9f7ba8feb8ccc (diff) | |
download | luajit-0a8fd0af8cf62d2c29f3c9c05630753538582598.tar.gz luajit-0a8fd0af8cf62d2c29f3c9c05630753538582598.tar.bz2 luajit-0a8fd0af8cf62d2c29f3c9c05630753538582598.zip |
PPC: Fix resume after yield from hook.
Diffstat (limited to 'src')
-rw-r--r-- | src/buildvm_ppc.dasc | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/buildvm_ppc.dasc b/src/buildvm_ppc.dasc index c26f3924..7872a482 100644 --- a/src/buildvm_ppc.dasc +++ b/src/buildvm_ppc.dasc | |||
@@ -501,22 +501,22 @@ static void build_subroutines(BuildCtx *ctx) | |||
501 | | lwz TMP1, L->top | 501 | | lwz TMP1, L->top |
502 | | lwz PC, FRAME_PC(BASE) | 502 | | lwz PC, FRAME_PC(BASE) |
503 | | lus TMP3, 0x59c0 // TOBIT = 2^52 + 2^51 (float). | 503 | | lus TMP3, 0x59c0 // TOBIT = 2^52 + 2^51 (float). |
504 | | sub RD, TMP1, BASE | ||
505 | | stb CARG3, L->status | 504 | | stb CARG3, L->status |
506 | | stw TMP3, TMPD | 505 | | stw TMP3, TMPD |
507 | | andi. TMP0, PC, FRAME_TYPE | ||
508 | | ori TMP3, TMP3, 0x0004 // TONUM = 2^52 + 2^51 + 2^31 (float). | 506 | | ori TMP3, TMP3, 0x0004 // TONUM = 2^52 + 2^51 + 2^31 (float). |
509 | | lfs TOBIT, TMPD | 507 | | lfs TOBIT, TMPD |
510 | | li ZERO, 0 | 508 | | sub RD, TMP1, BASE |
511 | | stw TMP3, TMPD | 509 | | stw TMP3, TMPD |
512 | | addi RD, RD, 8 | ||
513 | | lus TMP0, 0x4338 // Hiword of 2^52 + 2^51 (double) | 510 | | lus TMP0, 0x4338 // Hiword of 2^52 + 2^51 (double) |
514 | | mr MULTRES, RD | 511 | | addi RD, RD, 8 |
515 | | stw TMP0, TONUM_HI | 512 | | stw TMP0, TONUM_HI |
516 | | li_vmstate INTERP | 513 | | li_vmstate INTERP |
514 | | li ZERO, 0 | ||
515 | | st_vmstate | ||
516 | | andi. TMP0, PC, FRAME_TYPE | ||
517 | | mr MULTRES, RD | ||
517 | | lfs TONUM, TMPD | 518 | | lfs TONUM, TMPD |
518 | | li TISNIL, LJ_TNIL | 519 | | li TISNIL, LJ_TNIL |
519 | | st_vmstate | ||
520 | | beq ->BC_RET_Z | 520 | | beq ->BC_RET_Z |
521 | | b ->vm_return | 521 | | b ->vm_return |
522 | | | 522 | | |