@@ -383,8 +383,7 @@ dummy_func(
383
383
DEOPT_IF (!PyList_CheckExact (list ), BINARY_SUBSCR );
384
384
385
385
// Deopt unless 0 <= sub < PyList_Size(list)
386
- Py_ssize_t signed_magnitude = Py_SIZE (sub );
387
- DEOPT_IF (invalid_index (signed_magnitude , 2 ), BINARY_SUBSCR );
386
+ DEOPT_IF (_PyLong_Negative_or_multi_digit_int (sub ), BINARY_SUBSCR );
388
387
assert (((PyLongObject * )_PyLong_GetZero ())-> ob_digit [0 ] == 0 );
389
388
Py_ssize_t index = ((PyLongObject * )sub )-> ob_digit [0 ];
390
389
DEOPT_IF (index >= PyList_GET_SIZE (list ), BINARY_SUBSCR );
@@ -402,8 +401,7 @@ dummy_func(
402
401
DEOPT_IF (!PyTuple_CheckExact (tuple ), BINARY_SUBSCR );
403
402
404
403
// Deopt unless 0 <= sub < PyTuple_Size(list)
405
- Py_ssize_t signed_magnitude = Py_SIZE (sub );
406
- DEOPT_IF (invalid_index (signed_magnitude , 2 ), BINARY_SUBSCR );
404
+ DEOPT_IF (_PyLong_Negative_or_multi_digit_int (sub ), BINARY_SUBSCR );
407
405
assert (((PyLongObject * )_PyLong_GetZero ())-> ob_digit [0 ] == 0 );
408
406
Py_ssize_t index = ((PyLongObject * )sub )-> ob_digit [0 ];
409
407
DEOPT_IF (index >= PyTuple_GET_SIZE (tuple ), BINARY_SUBSCR );
@@ -507,7 +505,7 @@ dummy_func(
507
505
DEOPT_IF (!PyList_CheckExact (list ), STORE_SUBSCR );
508
506
509
507
// Ensure nonnegative, zero-or-one-digit ints.
510
- DEOPT_IF (invalid_index ( Py_SIZE ( sub ), 2 ), STORE_SUBSCR );
508
+ DEOPT_IF (_PyLong_Negative_or_multi_digit_int ( sub ), STORE_SUBSCR );
511
509
Py_ssize_t index = ((PyLongObject * )sub )-> ob_digit [0 ];
512
510
// Ensure index < len(list)
513
511
DEOPT_IF (index >= PyList_GET_SIZE (list ), STORE_SUBSCR );
0 commit comments