diff options
Diffstat (limited to 'src/vm_mips.dasc')
-rw-r--r-- | src/vm_mips.dasc | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/vm_mips.dasc b/src/vm_mips.dasc index 7cfdf4b1..134ed569 100644 --- a/src/vm_mips.dasc +++ b/src/vm_mips.dasc | |||
@@ -2015,7 +2015,7 @@ static void build_subroutines(BuildCtx *ctx) | |||
2015 | |.if JIT | 2015 | |.if JIT |
2016 | | // RA = resultptr, RB = meta base | 2016 | | // RA = resultptr, RB = meta base |
2017 | | lw INS, -4(PC) | 2017 | | lw INS, -4(PC) |
2018 | | lw TMP3, -24+LO(RB) // Save previous trace number. | 2018 | | lw TMP2, -24+LO(RB) // Save previous trace. |
2019 | | decode_RA8a RC, INS | 2019 | | decode_RA8a RC, INS |
2020 | | addiu AT, MULTRES, -8 | 2020 | | addiu AT, MULTRES, -8 |
2021 | | decode_RA8b RC | 2021 | | decode_RA8b RC |
@@ -2034,17 +2034,13 @@ static void build_subroutines(BuildCtx *ctx) | |||
2034 | | decode_RA8b RA | 2034 | | decode_RA8b RA |
2035 | | decode_RB8b RB | 2035 | | decode_RB8b RB |
2036 | | addu RA, RA, RB | 2036 | | addu RA, RA, RB |
2037 | | lw TMP1, DISPATCH_J(trace)(DISPATCH) | ||
2038 | | addu RA, BASE, RA | 2037 | | addu RA, BASE, RA |
2039 | |3: | 2038 | |3: |
2040 | | sltu AT, RC, RA | 2039 | | sltu AT, RC, RA |
2041 | | bnez AT, >9 // More results wanted? | 2040 | | bnez AT, >9 // More results wanted? |
2042 | |. sll TMP2, TMP3, 2 | 2041 | |. nop |
2043 | | | 2042 | | |
2044 | | addu TMP2, TMP1, TMP2 | 2043 | | lhu TMP3, TRACE:TMP2->traceno |
2045 | | lw TRACE:TMP2, 0(TMP2) | ||
2046 | | beqz TRACE:TMP2, ->cont_nop | ||
2047 | |. nop | ||
2048 | | lhu RD, TRACE:TMP2->link | 2044 | | lhu RD, TRACE:TMP2->link |
2049 | | beq RD, TMP3, ->cont_nop // Blacklisted. | 2045 | | beq RD, TMP3, ->cont_nop // Blacklisted. |
2050 | |. load_got lj_dispatch_stitch | 2046 | |. load_got lj_dispatch_stitch |