-
-
Notifications
You must be signed in to change notification settings - Fork 33.7k
Closed as not planned
Labels
Description
Bug report
Bug description:
For example for the following code from #142703
def foo(l):
for _ in range(4099):
l[0] = 1
foo([0]
The following trace is generated:
0 OPTIMIZED: _START_EXECUTOR_r00 (0, jump_target=21, operand0=0x61d7aa5bc790, operand1=0, error_target=0)
1 OPTIMIZED: _MAKE_WARM_r00 (0, target=0, operand0=0, operand1=0)
2 OPTIMIZED: _SET_IP_r00 (0, target=20, operand0=0x795204f5c498, operand1=0)
3 OPTIMIZED: _CHECK_PERIODIC_r00 (0, jump_target=0, operand0=0, operand1=0)
4 OPTIMIZED: _CHECK_VALIDITY_r00 (0, jump_target=23, operand0=0, operand1=0)
5 OPTIMIZED: _ITER_CHECK_RANGE_r02 (8, jump_target=24, operand0=0, operand1=0, error_target=0)
6 OPTIMIZED: _GUARD_NOT_EXHAUSTED_RANGE_r22 (8, jump_target=25, operand0=0, operand1=0, error_target=0)
7 OPTIMIZED: _ITER_NEXT_RANGE_r23 (8, jump_target=0, operand0=0, operand1=0, error_target=26)
8 OPTIMIZED: _SET_IP_r33 (0, target=14, operand0=0x795204f5c48c, operand1=0)
9 OPTIMIZED: _SPILL_OR_RELOAD_r31 (0, target=0, operand0=0, operand1=0)
10 OPTIMIZED: _STORE_FAST_1_r10 (1, target=14, operand0=0, operand1=0, error_target=0)
11 OPTIMIZED: _CHECK_VALIDITY_r00 (0, jump_target=27, operand0=0, operand1=0)
12 OPTIMIZED: _LOAD_CONST_INLINE_BORROW_r01 (0, target=15, operand0=0x61d7973c0508, operand1=0)
13 OPTIMIZED: _LOAD_FAST_BORROW_0_r12 (0, target=16, operand0=0, operand1=0)
14 OPTIMIZED: _LOAD_CONST_INLINE_BORROW_r23 (0, target=17, operand0=0x61d7973c04e8, operand1=0)
15 OPTIMIZED: _SET_IP_r33 (0, target=18, operand0=0x795204f5c494, operand1=0)
16 OPTIMIZED: _GUARD_NOS_LIST_r33 (0, jump_target=28, operand0=0, operand1=0)
17 OPTIMIZED: _STORE_SUBSCR_LIST_INT_r32 (0, jump_target=29, operand0=0, operand1=0)
18 OPTIMIZED: _POP_TOP_NOP_r21 (0, target=18, operand0=0, operand1=0)
19 OPTIMIZED: _POP_TOP_NOP_r10 (0, target=18, operand0=0, operand1=0)
20 OPTIMIZED: _JUMP_TO_TOP_r00 (0, jump_target=1, operand0=0, operand1=0)
_STORE_SUBSCR_LIST_INT has a Py_DECREF of the old value inside, but it doesn't seem to be spilling. The same thing is happening for POP_TOP.
CPython versions tested on:
CPython main branch
Operating systems tested on:
No response