mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
Fix FOLD rule for BUFHDR append with intervening buffer use.
Reported by XmiliaH.
This commit is contained in:
parent
c929efc039
commit
5935564c3b
@ -598,7 +598,8 @@ LJFOLDF(bufput_bufstr)
|
|||||||
if (fleft->o == IR_BUFHDR && fleft->op2 == IRBUFHDR_RESET &&
|
if (fleft->o == IR_BUFHDR && fleft->op2 == IRBUFHDR_RESET &&
|
||||||
fleft->prev == hdr &&
|
fleft->prev == hdr &&
|
||||||
fleft->op1 == IR(hdr)->op1 &&
|
fleft->op1 == IR(hdr)->op1 &&
|
||||||
!(irt_isphi(fright->t) && IR(hdr)->prev)) {
|
!(irt_isphi(fright->t) && IR(hdr)->prev) &&
|
||||||
|
(!LJ_HASBUFFER || J->chain[IR_CALLA] < hdr)) {
|
||||||
IRRef ref = fins->op1;
|
IRRef ref = fins->op1;
|
||||||
IR(ref)->op2 = IRBUFHDR_APPEND; /* Modify BUFHDR. */
|
IR(ref)->op2 = IRBUFHDR_APPEND; /* Modify BUFHDR. */
|
||||||
IR(ref)->op1 = fright->op1;
|
IR(ref)->op1 = fright->op1;
|
||||||
|
Loading…
Reference in New Issue
Block a user