@@ -391,8 +391,7 @@ dummy_func(
391
391
DEOPT_IF (!PyList_CheckExact (list ), BINARY_SUBSCR );
392
392
393
393
// Deopt unless 0 <= sub < PyList_Size(list)
394
- Py_ssize_t signed_magnitude = Py_SIZE (sub );
395
- DEOPT_IF (((size_t )signed_magnitude ) > 1 , BINARY_SUBSCR );
394
+ DEOPT_IF (!_PyLong_IsPositiveSingleDigit (sub ), BINARY_SUBSCR );
396
395
assert (((PyLongObject * )_PyLong_GetZero ())-> ob_digit [0 ] == 0 );
397
396
Py_ssize_t index = ((PyLongObject * )sub )-> ob_digit [0 ];
398
397
DEOPT_IF (index >= PyList_GET_SIZE (list ), BINARY_SUBSCR );
@@ -410,8 +409,7 @@ dummy_func(
410
409
DEOPT_IF (!PyTuple_CheckExact (tuple ), BINARY_SUBSCR );
411
410
412
411
// Deopt unless 0 <= sub < PyTuple_Size(list)
413
- Py_ssize_t signed_magnitude = Py_SIZE (sub );
414
- DEOPT_IF (((size_t )signed_magnitude ) > 1 , BINARY_SUBSCR );
412
+ DEOPT_IF (!_PyLong_IsPositiveSingleDigit (sub ), BINARY_SUBSCR );
415
413
assert (((PyLongObject * )_PyLong_GetZero ())-> ob_digit [0 ] == 0 );
416
414
Py_ssize_t index = ((PyLongObject * )sub )-> ob_digit [0 ];
417
415
DEOPT_IF (index >= PyTuple_GET_SIZE (tuple ), BINARY_SUBSCR );
@@ -508,7 +506,7 @@ dummy_func(
508
506
DEOPT_IF (!PyList_CheckExact (list ), STORE_SUBSCR );
509
507
510
508
// Ensure nonnegative, zero-or-one-digit ints.
511
- DEOPT_IF ((( size_t ) Py_SIZE ( sub )) > 1 , STORE_SUBSCR );
509
+ DEOPT_IF (! _PyLong_IsPositiveSingleDigit ( sub ), STORE_SUBSCR );
512
510
Py_ssize_t index = ((PyLongObject * )sub )-> ob_digit [0 ];
513
511
// Ensure index < len(list)
514
512
DEOPT_IF (index >= PyList_GET_SIZE (list ), STORE_SUBSCR );
0 commit comments