@@ -474,8 +474,8 @@ dummy_func(
474
474
475
475
STAT_INC (BINARY_OP , hit );
476
476
PyObject * res_o = _PyLong_Multiply ((PyLongObject * )left_o , (PyLongObject * )right_o );
477
- _Py_DECREF_SPECIALIZED ( right_o , (destructor )PyObject_Free );
478
- _Py_DECREF_SPECIALIZED ( left_o , (destructor )PyObject_Free );
477
+ PyStackRef_CLOSE_SPECIALIZED ( right , (destructor )PyObject_Free );
478
+ PyStackRef_CLOSE_SPECIALIZED ( left , (destructor )PyObject_Free );
479
479
INPUTS_DEAD ();
480
480
ERROR_IF (res_o == NULL , error );
481
481
res = PyStackRef_FromPyObjectSteal (res_o );
@@ -487,8 +487,8 @@ dummy_func(
487
487
488
488
STAT_INC (BINARY_OP , hit );
489
489
PyObject * res_o = _PyLong_Add ((PyLongObject * )left_o , (PyLongObject * )right_o );
490
- _Py_DECREF_SPECIALIZED ( right_o , (destructor )PyObject_Free );
491
- _Py_DECREF_SPECIALIZED ( left_o , (destructor )PyObject_Free );
490
+ PyStackRef_CLOSE_SPECIALIZED ( right , (destructor )PyObject_Free );
491
+ PyStackRef_CLOSE_SPECIALIZED ( left , (destructor )PyObject_Free );
492
492
INPUTS_DEAD ();
493
493
ERROR_IF (res_o == NULL , error );
494
494
res = PyStackRef_FromPyObjectSteal (res_o );
@@ -500,8 +500,8 @@ dummy_func(
500
500
501
501
STAT_INC (BINARY_OP , hit );
502
502
PyObject * res_o = _PyLong_Subtract ((PyLongObject * )left_o , (PyLongObject * )right_o );
503
- _Py_DECREF_SPECIALIZED ( right_o , (destructor )PyObject_Free );
504
- _Py_DECREF_SPECIALIZED ( left_o , (destructor )PyObject_Free );
503
+ PyStackRef_CLOSE_SPECIALIZED ( right , (destructor )PyObject_Free );
504
+ PyStackRef_CLOSE_SPECIALIZED ( left , (destructor )PyObject_Free );
505
505
INPUTS_DEAD ();
506
506
ERROR_IF (res_o == NULL , error );
507
507
res = PyStackRef_FromPyObjectSteal (res_o );
@@ -594,8 +594,8 @@ dummy_func(
594
594
595
595
STAT_INC (BINARY_OP , hit );
596
596
PyObject * res_o = PyUnicode_Concat (left_o , right_o );
597
- _Py_DECREF_SPECIALIZED ( left_o , _PyUnicode_ExactDealloc );
598
- _Py_DECREF_SPECIALIZED ( right_o , _PyUnicode_ExactDealloc );
597
+ PyStackRef_CLOSE_SPECIALIZED ( left , _PyUnicode_ExactDealloc );
598
+ PyStackRef_CLOSE_SPECIALIZED ( right , _PyUnicode_ExactDealloc );
599
599
INPUTS_DEAD ();
600
600
ERROR_IF (res_o == NULL , error );
601
601
res = PyStackRef_FromPyObjectSteal (res_o );
@@ -636,12 +636,12 @@ dummy_func(
636
636
* that the string is safe to mutate.
637
637
*/
638
638
assert (Py_REFCNT (left_o ) >= 2 );
639
- _Py_DECREF_NO_DEALLOC ( left_o );
639
+ PyStackRef_CLOSE ( left );
640
640
DEAD (left );
641
641
PyObject * temp = PyStackRef_AsPyObjectBorrow (* target_local );
642
642
PyUnicode_Append (& temp , right_o );
643
643
* target_local = PyStackRef_FromPyObjectSteal (temp );
644
- _Py_DECREF_SPECIALIZED ( right_o , _PyUnicode_ExactDealloc );
644
+ PyStackRef_CLOSE_SPECIALIZED ( right , _PyUnicode_ExactDealloc );
645
645
DEAD (right );
646
646
ERROR_IF (PyStackRef_IsNull (* target_local ), error );
647
647
#if TIER_ONE
@@ -755,7 +755,7 @@ dummy_func(
755
755
PyObject * res_o = PyList_GET_ITEM (list , index );
756
756
assert (res_o != NULL );
757
757
Py_INCREF (res_o );
758
- _Py_DECREF_SPECIALIZED ( sub , (destructor )PyObject_Free );
758
+ PyStackRef_CLOSE_SPECIALIZED ( sub_st , (destructor )PyObject_Free );
759
759
DEAD (sub_st );
760
760
PyStackRef_CLOSE (list_st );
761
761
res = PyStackRef_FromPyObjectSteal (res_o );
@@ -775,7 +775,7 @@ dummy_func(
775
775
DEOPT_IF (Py_ARRAY_LENGTH (_Py_SINGLETON (strings ).ascii ) <= c );
776
776
STAT_INC (BINARY_SUBSCR , hit );
777
777
PyObject * res_o = (PyObject * )& _Py_SINGLETON (strings ).ascii [c ];
778
- _Py_DECREF_SPECIALIZED ( sub , (destructor )PyObject_Free );
778
+ PyStackRef_CLOSE_SPECIALIZED ( sub_st , (destructor )PyObject_Free );
779
779
DEAD (sub_st );
780
780
PyStackRef_CLOSE (str_st );
781
781
res = PyStackRef_FromPyObjectSteal (res_o );
@@ -796,7 +796,7 @@ dummy_func(
796
796
PyObject * res_o = PyTuple_GET_ITEM (tuple , index );
797
797
assert (res_o != NULL );
798
798
Py_INCREF (res_o );
799
- _Py_DECREF_SPECIALIZED ( sub , (destructor )PyObject_Free );
799
+ PyStackRef_CLOSE_SPECIALIZED ( sub_st , (destructor )PyObject_Free );
800
800
DEAD (sub_st );
801
801
PyStackRef_CLOSE (tuple_st );
802
802
res = PyStackRef_FromPyObjectSteal (res_o );
@@ -908,7 +908,7 @@ dummy_func(
908
908
PyList_SET_ITEM (list , index , PyStackRef_AsPyObjectSteal (value ));
909
909
assert (old_value != NULL );
910
910
Py_DECREF (old_value );
911
- _Py_DECREF_SPECIALIZED ( sub , (destructor )PyObject_Free );
911
+ PyStackRef_CLOSE_SPECIALIZED ( sub_st , (destructor )PyObject_Free );
912
912
DEAD (sub_st );
913
913
PyStackRef_CLOSE (list_st );
914
914
}
@@ -2398,9 +2398,9 @@ dummy_func(
2398
2398
double dright = PyFloat_AS_DOUBLE (right_o );
2399
2399
// 1 if NaN, 2 if <, 4 if >, 8 if ==; this matches low four bits of the oparg
2400
2400
int sign_ish = COMPARISON_BIT (dleft , dright );
2401
- _Py_DECREF_SPECIALIZED ( left_o , _PyFloat_ExactDealloc );
2401
+ PyStackRef_CLOSE_SPECIALIZED ( left , _PyFloat_ExactDealloc );
2402
2402
DEAD (left );
2403
- _Py_DECREF_SPECIALIZED ( right_o , _PyFloat_ExactDealloc );
2403
+ PyStackRef_CLOSE_SPECIALIZED ( right , _PyFloat_ExactDealloc );
2404
2404
DEAD (right );
2405
2405
res = (sign_ish & oparg ) ? PyStackRef_True : PyStackRef_False ;
2406
2406
// It's always a bool, so we don't care about oparg & 16.
@@ -2420,9 +2420,9 @@ dummy_func(
2420
2420
Py_ssize_t iright = _PyLong_CompactValue ((PyLongObject * )right_o );
2421
2421
// 2 if <, 4 if >, 8 if ==; this matches the low 4 bits of the oparg
2422
2422
int sign_ish = COMPARISON_BIT (ileft , iright );
2423
- _Py_DECREF_SPECIALIZED ( left_o , (destructor )PyObject_Free );
2423
+ PyStackRef_CLOSE_SPECIALIZED ( left , (destructor )PyObject_Free );
2424
2424
DEAD (left );
2425
- _Py_DECREF_SPECIALIZED ( right_o , (destructor )PyObject_Free );
2425
+ PyStackRef_CLOSE_SPECIALIZED ( right , (destructor )PyObject_Free );
2426
2426
DEAD (right );
2427
2427
res = (sign_ish & oparg ) ? PyStackRef_True : PyStackRef_False ;
2428
2428
// It's always a bool, so we don't care about oparg & 16.
@@ -2436,9 +2436,9 @@ dummy_func(
2436
2436
STAT_INC (COMPARE_OP , hit );
2437
2437
int eq = _PyUnicode_Equal (left_o , right_o );
2438
2438
assert ((oparg >> 5 ) == Py_EQ || (oparg >> 5 ) == Py_NE );
2439
- _Py_DECREF_SPECIALIZED ( left_o , _PyUnicode_ExactDealloc );
2439
+ PyStackRef_CLOSE_SPECIALIZED ( left , _PyUnicode_ExactDealloc );
2440
2440
DEAD (left );
2441
- _Py_DECREF_SPECIALIZED ( right_o , _PyUnicode_ExactDealloc );
2441
+ PyStackRef_CLOSE_SPECIALIZED ( right , _PyUnicode_ExactDealloc );
2442
2442
DEAD (right );
2443
2443
assert (eq == 0 || eq == 1 );
2444
2444
assert ((oparg & 0xf ) == COMPARISON_NOT_EQUALS || (oparg & 0xf ) == COMPARISON_EQUALS );
0 commit comments