mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
Merge branch 'master' into v2.1
This commit is contained in:
commit
98b7d9a3b2
@ -78,7 +78,7 @@ static CTypeID argv2ctype(jit_State *J, TRef tr, cTValue *o)
|
|||||||
/* Specialize to the string containing the C type declaration. */
|
/* Specialize to the string containing the C type declaration. */
|
||||||
emitir(IRTG(IR_EQ, IRT_STR), tr, lj_ir_kstr(J, s));
|
emitir(IRTG(IR_EQ, IRT_STR), tr, lj_ir_kstr(J, s));
|
||||||
cp.L = J->L;
|
cp.L = J->L;
|
||||||
cp.cts = ctype_ctsG(J2G(J));
|
cp.cts = ctype_cts(J->L);
|
||||||
oldtop = cp.cts->top;
|
oldtop = cp.cts->top;
|
||||||
cp.srcname = strdata(s);
|
cp.srcname = strdata(s);
|
||||||
cp.p = strdata(s);
|
cp.p = strdata(s);
|
||||||
|
@ -539,13 +539,13 @@ static void build_subroutines(BuildCtx *ctx)
|
|||||||
| cmp CARG1, #1
|
| cmp CARG1, #1
|
||||||
|.endif
|
|.endif
|
||||||
| ldr PC, [CARG4, #-12] // Restore PC from [cont|PC].
|
| ldr PC, [CARG4, #-12] // Restore PC from [cont|PC].
|
||||||
| ldr CARG3, LFUNC:CARG3->field_pc
|
|
||||||
| mvn INS, #~LJ_TNIL
|
| mvn INS, #~LJ_TNIL
|
||||||
| add CARG2, RA, RC
|
| add CARG2, RA, RC
|
||||||
| str INS, [CARG2, #-4] // Ensure one valid arg.
|
| str INS, [CARG2, #-4] // Ensure one valid arg.
|
||||||
|.if FFI
|
|.if FFI
|
||||||
| bls >1
|
| bls >1
|
||||||
|.endif
|
|.endif
|
||||||
|
| ldr CARG3, LFUNC:CARG3->field_pc
|
||||||
| ldr KBASE, [CARG3, #PC2PROTO(k)]
|
| ldr KBASE, [CARG3, #PC2PROTO(k)]
|
||||||
| // BASE = base, RA = resultptr, CARG4 = meta base
|
| // BASE = base, RA = resultptr, CARG4 = meta base
|
||||||
| bx CARG1
|
| bx CARG1
|
||||||
|
@ -673,11 +673,11 @@ static void build_subroutines(BuildCtx *ctx)
|
|||||||
|.endif
|
|.endif
|
||||||
| lw PC, -16+HI(RB) // Restore PC from [cont|PC].
|
| lw PC, -16+HI(RB) // Restore PC from [cont|PC].
|
||||||
| addu TMP2, RA, RD
|
| addu TMP2, RA, RD
|
||||||
| lw TMP1, LFUNC:TMP1->pc
|
|
||||||
|.if FFI
|
|.if FFI
|
||||||
| bnez AT, >1
|
| bnez AT, >1
|
||||||
|.endif
|
|.endif
|
||||||
|. sw TISNIL, -8+HI(TMP2) // Ensure one valid arg.
|
|. sw TISNIL, -8+HI(TMP2) // Ensure one valid arg.
|
||||||
|
| lw TMP1, LFUNC:TMP1->pc
|
||||||
| // BASE = base, RA = resultptr, RB = meta base
|
| // BASE = base, RA = resultptr, RB = meta base
|
||||||
| jr TMP0 // Jump to continuation.
|
| jr TMP0 // Jump to continuation.
|
||||||
|. lw KBASE, PC2PROTO(k)(TMP1)
|
|. lw KBASE, PC2PROTO(k)(TMP1)
|
||||||
|
@ -859,11 +859,11 @@ static void build_subroutines(BuildCtx *ctx)
|
|||||||
|.endif
|
|.endif
|
||||||
| lwz PC, -16(RB) // Restore PC from [cont|PC].
|
| lwz PC, -16(RB) // Restore PC from [cont|PC].
|
||||||
| subi TMP2, RD, 8
|
| subi TMP2, RD, 8
|
||||||
| lwz TMP1, LFUNC:TMP1->pc
|
|
||||||
| stwx TISNIL, RA, TMP2 // Ensure one valid arg.
|
| stwx TISNIL, RA, TMP2 // Ensure one valid arg.
|
||||||
|.if FFI
|
|.if FFI
|
||||||
| ble >1
|
| ble >1
|
||||||
|.endif
|
|.endif
|
||||||
|
| lwz TMP1, LFUNC:TMP1->pc
|
||||||
| lwz KBASE, PC2PROTO(k)(TMP1)
|
| lwz KBASE, PC2PROTO(k)(TMP1)
|
||||||
| // BASE = base, RA = resultptr, RB = meta base
|
| // BASE = base, RA = resultptr, RB = meta base
|
||||||
| mtctr TMP0
|
| mtctr TMP0
|
||||||
|
Loading…
Reference in New Issue
Block a user