Re-enable trace stitching.
Thanks to Vyacheslav Egorov.
This commit is contained in:
@@ -2015,7 +2015,7 @@ static void build_subroutines(BuildCtx *ctx)
|
||||
|.if JIT
|
||||
| // RA = resultptr, RB = meta base
|
||||
| lw INS, -4(PC)
|
||||
| lw TMP3, -24+LO(RB) // Save previous trace number.
|
||||
| lw TMP2, -24+LO(RB) // Save previous trace.
|
||||
| decode_RA8a RC, INS
|
||||
| addiu AT, MULTRES, -8
|
||||
| decode_RA8b RC
|
||||
@@ -2034,17 +2034,13 @@ static void build_subroutines(BuildCtx *ctx)
|
||||
| decode_RA8b RA
|
||||
| decode_RB8b RB
|
||||
| addu RA, RA, RB
|
||||
| lw TMP1, DISPATCH_J(trace)(DISPATCH)
|
||||
| addu RA, BASE, RA
|
||||
|3:
|
||||
| sltu AT, RC, RA
|
||||
| bnez AT, >9 // More results wanted?
|
||||
|. sll TMP2, TMP3, 2
|
||||
|. nop
|
||||
|
|
||||
| addu TMP2, TMP1, TMP2
|
||||
| lw TRACE:TMP2, 0(TMP2)
|
||||
| beqz TRACE:TMP2, ->cont_nop
|
||||
|. nop
|
||||
| lhu TMP3, TRACE:TMP2->traceno
|
||||
| lhu RD, TRACE:TMP2->link
|
||||
| beq RD, TMP3, ->cont_nop // Blacklisted.
|
||||
|. load_got lj_dispatch_stitch
|
||||
|
||||
Reference in New Issue
Block a user