Преглед изворни кода

MIPS64: Fix pcall() error case.

Thanks to Sergey Kaplun. #1308
Mike Pall пре 10 месеци
родитељ
комит
35a4dd6f79
1 измењених фајлова са 3 додато и 2 уклоњено
  1. 3 2
      src/vm_mips64.dasc

+ 3 - 2
src/vm_mips64.dasc

@@ -1420,9 +1420,10 @@ static void build_subroutines(BuildCtx *ctx)
   |  sltu AT, TMP1, TMP2
   |  sltu AT, TMP1, TMP2
   |  bnez AT, ->fff_fallback
   |  bnez AT, ->fff_fallback
   |.  lbu TMP3, DISPATCH_GL(hookmask)(DISPATCH)
   |.  lbu TMP3, DISPATCH_GL(hookmask)(DISPATCH)
-  |  daddiu NARGS8:RC, NARGS8:RC, -8
-  |  bltz NARGS8:RC, ->fff_fallback
+  |  daddiu NARGS8:TMP0, NARGS8:RC, -8
+  |  bltz NARGS8:TMP0, ->fff_fallback
   |.   move TMP2, BASE
   |.   move TMP2, BASE
+  |  move NARGS8:RC, NARGS8:TMP0
   |   daddiu BASE, BASE, 16
   |   daddiu BASE, BASE, 16
   |  // Remember active hook before pcall.
   |  // Remember active hook before pcall.
   |  srl TMP3, TMP3, HOOK_ACTIVE_SHIFT
   |  srl TMP3, TMP3, HOOK_ACTIVE_SHIFT