@@ -1537,8 +1537,12 @@ static void build_subroutines(BuildCtx *ctx)
|
||||
|//-- Base library: catch errors ----------------------------------------
|
||||
|
|
||||
|.ffunc pcall
|
||||
| lwz TMP1, L->maxstack
|
||||
| add TMP2, BASE, NARGS8:RC
|
||||
| cmplwi NARGS8:RC, 8
|
||||
| lbz TMP3, DISPATCH_GL(hookmask)(DISPATCH)
|
||||
| cmplw cr1, TMP1, TMP2
|
||||
| cror 4*cr0+lt, 4*cr0+lt, 4*cr1+lt
|
||||
| blt ->fff_fallback
|
||||
| mr TMP2, BASE
|
||||
| la BASE, 8(BASE)
|
||||
@@ -1549,9 +1553,13 @@ static void build_subroutines(BuildCtx *ctx)
|
||||
| b ->vm_call_dispatch
|
||||
|
|
||||
|.ffunc xpcall
|
||||
| lwz TMP1, L->maxstack
|
||||
| add TMP2, BASE, NARGS8:RC
|
||||
| cmplwi NARGS8:RC, 16
|
||||
| lwz CARG4, 8(BASE)
|
||||
| cmplw cr1, TMP1, TMP2
|
||||
| lfd FARG2, 8(BASE)
|
||||
| cror 4*cr0+lt, 4*cr0+lt, 4*cr1+lt
|
||||
| lfd FARG1, 0(BASE)
|
||||
| blt ->fff_fallback
|
||||
| lbz TMP1, DISPATCH_GL(hookmask)(DISPATCH)
|
||||
|
||||
Reference in New Issue
Block a user