@@ -391,8 +391,7 @@ dummy_func(
391391DEOPT_IF(!PyList_CheckExact(list), BINARY_SUBSCR);
392392393393// Deopt unless 0 <= sub < PyList_Size(list)
394-Py_ssize_tsigned_magnitude=Py_SIZE(sub);
395-DEOPT_IF(((size_t)signed_magnitude) >1, BINARY_SUBSCR);
394+DEOPT_IF(!_PyLong_IsPositiveSingleDigit(sub), BINARY_SUBSCR);
396395assert(((PyLongObject*)_PyLong_GetZero())->ob_digit[0] ==0);
397396Py_ssize_tindex= ((PyLongObject*)sub)->ob_digit[0];
398397DEOPT_IF(index >= PyList_GET_SIZE(list), BINARY_SUBSCR);
@@ -410,8 +409,7 @@ dummy_func(
410409DEOPT_IF(!PyTuple_CheckExact(tuple), BINARY_SUBSCR);
411410412411// Deopt unless 0 <= sub < PyTuple_Size(list)
413-Py_ssize_tsigned_magnitude=Py_SIZE(sub);
414-DEOPT_IF(((size_t)signed_magnitude) >1, BINARY_SUBSCR);
412+DEOPT_IF(!_PyLong_IsPositiveSingleDigit(sub), BINARY_SUBSCR);
415413assert(((PyLongObject*)_PyLong_GetZero())->ob_digit[0] ==0);
416414Py_ssize_tindex= ((PyLongObject*)sub)->ob_digit[0];
417415DEOPT_IF(index >= PyTuple_GET_SIZE(tuple), BINARY_SUBSCR);
@@ -508,7 +506,7 @@ dummy_func(
508506DEOPT_IF(!PyList_CheckExact(list), STORE_SUBSCR);
509507510508// 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);
512510Py_ssize_tindex= ((PyLongObject*)sub)->ob_digit[0];
513511// Ensure index < len(list)
514512DEOPT_IF(index >= PyList_GET_SIZE(list), STORE_SUBSCR);