Skip to content

Commit 25effba

Browse files
Mike PallBuristan
Mike Pall
authored andcommitted
Fix last commit.
(cherry picked from commit 43d0a19) The previous commit accidentally removes the check that fusing optimization isn't performing across the call to the `table.clear()`. This commit fixes the behaviour by adding the corresponding check that depends on the first bit of `check` masks in the `noconflict()` routine. Sergey Kaplun: * added the description for the problem Part of tarantool/tarantool#10709 Reviewed-by: Sergey Bronnikov <[email protected]> Signed-off-by: Sergey Kaplun <[email protected]> (cherry picked from commit ffede1b)
1 parent f556216 commit 25effba

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/lj_asm_x86.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ static int noconflict(ASMState *as, IRRef ref, IROp conflict, int check)
118118
while (--i > ref) {
119119
if (ir[i].o == conflict)
120120
return 0; /* Conflict found. */
121-
else if ((check & 1) && ir[i].o == IR_NEWREF)
121+
else if ((check & 1) && (ir[i].o == IR_NEWREF || ir[i].o == IR_CALLS))
122122
return 0;
123123
else if ((check & 2) && (ir[i].op1 == ref || ir[i].op2 == ref))
124124
return 0;

0 commit comments

Comments
 (0)