mirror of
https://github.com/love2d/megasource.git
synced 2026-08-19 20:20:11 +02:00
Update LuaJIT to latest 2.1.0 source (7306ba7)
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
** FOLD: Constant Folding, Algebraic Simplifications and Reassociation.
|
||||
** ABCelim: Array Bounds Check Elimination.
|
||||
** CSE: Common-Subexpression Elimination.
|
||||
** Copyright (C) 2005-2021 Mike Pall. See Copyright Notice in luajit.h
|
||||
** Copyright (C) 2005-2022 Mike Pall. See Copyright Notice in luajit.h
|
||||
*/
|
||||
|
||||
#define lj_opt_fold_c
|
||||
@@ -597,7 +597,8 @@ LJFOLDF(bufput_bufstr)
|
||||
/* New buffer, no other buffer op inbetween and same buffer? */
|
||||
if (fleft->o == IR_BUFHDR && fleft->op2 == IRBUFHDR_RESET &&
|
||||
fleft->prev == hdr &&
|
||||
fleft->op1 == IR(hdr)->op1) {
|
||||
fleft->op1 == IR(hdr)->op1 &&
|
||||
!(irt_isphi(fright->t) && IR(hdr)->prev)) {
|
||||
IRRef ref = fins->op1;
|
||||
IR(ref)->op2 = IRBUFHDR_APPEND; /* Modify BUFHDR. */
|
||||
IR(ref)->op1 = fright->op1;
|
||||
@@ -1958,14 +1959,15 @@ LJFOLDF(abc_fwd)
|
||||
LJFOLD(ABC any KINT)
|
||||
LJFOLDF(abc_k)
|
||||
{
|
||||
PHIBARRIER(fleft);
|
||||
if (LJ_LIKELY(J->flags & JIT_F_OPT_ABC)) {
|
||||
IRRef ref = J->chain[IR_ABC];
|
||||
IRRef asize = fins->op1;
|
||||
while (ref > asize) {
|
||||
IRIns *ir = IR(ref);
|
||||
if (ir->op1 == asize && irref_isk(ir->op2)) {
|
||||
int32_t k = IR(ir->op2)->i;
|
||||
if (fright->i > k)
|
||||
uint32_t k = (uint32_t)IR(ir->op2)->i;
|
||||
if ((uint32_t)fright->i > k)
|
||||
ir->op2 = fins->op2;
|
||||
return DROPFOLD;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user