mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
MIPS: Fix use of ffgccheck delay slots in interpreter.
This commit is contained in:
parent
9531eb235b
commit
62af101524
@ -1621,6 +1621,7 @@ static void build_subroutines(BuildCtx *ctx)
|
|||||||
|
|
|
|
||||||
|.ffunc string_char // Only handle the 1-arg case here.
|
|.ffunc string_char // Only handle the 1-arg case here.
|
||||||
| ffgccheck
|
| ffgccheck
|
||||||
|
|. nop
|
||||||
| lw CARG3, HI(BASE)
|
| lw CARG3, HI(BASE)
|
||||||
| ldc1 FARG1, 0(BASE)
|
| ldc1 FARG1, 0(BASE)
|
||||||
| li AT, 8
|
| li AT, 8
|
||||||
@ -1648,6 +1649,7 @@ static void build_subroutines(BuildCtx *ctx)
|
|||||||
|
|
|
|
||||||
|.ffunc string_sub
|
|.ffunc string_sub
|
||||||
| ffgccheck
|
| ffgccheck
|
||||||
|
|. nop
|
||||||
| addiu AT, NARGS8:RC, -16
|
| addiu AT, NARGS8:RC, -16
|
||||||
| lw CARG3, 16+HI(BASE)
|
| lw CARG3, 16+HI(BASE)
|
||||||
| ldc1 f0, 16(BASE)
|
| ldc1 f0, 16(BASE)
|
||||||
@ -1697,6 +1699,7 @@ static void build_subroutines(BuildCtx *ctx)
|
|||||||
|
|
|
|
||||||
|.ffunc string_rep // Only handle the 1-char case inline.
|
|.ffunc string_rep // Only handle the 1-char case inline.
|
||||||
| ffgccheck
|
| ffgccheck
|
||||||
|
|. nop
|
||||||
| lw TMP0, HI(BASE)
|
| lw TMP0, HI(BASE)
|
||||||
| addiu AT, NARGS8:RC, -16 // Exactly 2 arguments.
|
| addiu AT, NARGS8:RC, -16 // Exactly 2 arguments.
|
||||||
| lw CARG4, 8+HI(BASE)
|
| lw CARG4, 8+HI(BASE)
|
||||||
@ -1731,6 +1734,7 @@ static void build_subroutines(BuildCtx *ctx)
|
|||||||
|
|
|
|
||||||
|.ffunc string_reverse
|
|.ffunc string_reverse
|
||||||
| ffgccheck
|
| ffgccheck
|
||||||
|
|. nop
|
||||||
| lw CARG3, HI(BASE)
|
| lw CARG3, HI(BASE)
|
||||||
| lw STR:CARG1, LO(BASE)
|
| lw STR:CARG1, LO(BASE)
|
||||||
| beqz NARGS8:RC, ->fff_fallback
|
| beqz NARGS8:RC, ->fff_fallback
|
||||||
@ -1756,6 +1760,7 @@ static void build_subroutines(BuildCtx *ctx)
|
|||||||
|.macro ffstring_case, name, lo
|
|.macro ffstring_case, name, lo
|
||||||
| .ffunc name
|
| .ffunc name
|
||||||
| ffgccheck
|
| ffgccheck
|
||||||
|
|. nop
|
||||||
| lw CARG3, HI(BASE)
|
| lw CARG3, HI(BASE)
|
||||||
| lw STR:CARG1, LO(BASE)
|
| lw STR:CARG1, LO(BASE)
|
||||||
| beqz NARGS8:RC, ->fff_fallback
|
| beqz NARGS8:RC, ->fff_fallback
|
||||||
|
Loading…
Reference in New Issue
Block a user