@@ -299,8 +299,7 @@ ins1(PyListObject *self, Py_ssize_t where, PyObject *v)
299
299
items = self -> ob_item ;
300
300
for (i = n ; -- i >= where ; )
301
301
items [i + 1 ] = items [i ];
302
- Py_INCREF (v );
303
- items [where ] = v ;
302
+ items [where ] = Py_NewRef (v );
304
303
return 0 ;
305
304
}
306
305
332
331
PyList_Append (PyObject * op , PyObject * newitem )
333
332
{
334
333
if (PyList_Check (op ) && (newitem != NULL )) {
335
- Py_INCREF (newitem );
336
- return _PyList_AppendTakeRef ((PyListObject * )op , newitem );
334
+ return _PyList_AppendTakeRef ((PyListObject * )op , Py_NewRef (newitem ));
337
335
}
338
336
PyErr_BadInternalCall ();
339
337
return -1 ;
@@ -461,8 +459,7 @@ list_item(PyListObject *a, Py_ssize_t i)
461
459
PyErr_SetObject (PyExc_IndexError , & _Py_STR (list_err ));
462
460
return NULL ;
463
461
}
464
- Py_INCREF (a -> ob_item [i ]);
465
- return a -> ob_item [i ];
462
+ return Py_NewRef (a -> ob_item [i ]);
466
463
}
467
464
468
465
static PyObject *
@@ -483,8 +480,7 @@ list_slice(PyListObject *a, Py_ssize_t ilow, Py_ssize_t ihigh)
483
480
dest = np -> ob_item ;
484
481
for (i = 0 ; i < len ; i ++ ) {
485
482
PyObject * v = src [i ];
486
- Py_INCREF (v );
487
- dest [i ] = v ;
483
+ dest [i ] = Py_NewRef (v );
488
484
}
489
485
Py_SET_SIZE (np , len );
490
486
return (PyObject * )np ;
@@ -539,15 +535,13 @@ list_concat(PyListObject *a, PyObject *bb)
539
535
dest = np -> ob_item ;
540
536
for (i = 0 ; i < Py_SIZE (a ); i ++ ) {
541
537
PyObject * v = src [i ];
542
- Py_INCREF (v );
543
- dest [i ] = v ;
538
+ dest [i ] = Py_NewRef (v );
544
539
}
545
540
src = b -> ob_item ;
546
541
dest = np -> ob_item + Py_SIZE (a );
547
542
for (i = 0 ; i < Py_SIZE (b ); i ++ ) {
548
543
PyObject * v = src [i ];
549
- Py_INCREF (v );
550
- dest [i ] = v ;
544
+ dest [i ] = Py_NewRef (v );
551
545
}
552
546
Py_SET_SIZE (np , size );
553
547
return (PyObject * )np ;
@@ -716,8 +710,7 @@ list_ass_slice(PyListObject *a, Py_ssize_t ilow, Py_ssize_t ihigh, PyObject *v)
716
710
}
717
711
for (k = 0 ; k < n ; k ++ , ilow ++ ) {
718
712
PyObject * w = vitem [k ];
719
- Py_XINCREF (w );
720
- item [ilow ] = w ;
713
+ item [ilow ] = Py_XNewRef (w );
721
714
}
722
715
for (k = norig - 1 ; k >= 0 ; -- k )
723
716
Py_XDECREF (recycle [k ]);
@@ -745,14 +738,12 @@ list_inplace_repeat(PyListObject *self, Py_ssize_t n)
745
738
{
746
739
Py_ssize_t input_size = PyList_GET_SIZE (self );
747
740
if (input_size == 0 || n == 1 ) {
748
- Py_INCREF (self );
749
- return (PyObject * )self ;
741
+ return Py_NewRef (self );
750
742
}
751
743
752
744
if (n < 1 ) {
753
745
(void )_list_clear (self );
754
- Py_INCREF (self );
755
- return (PyObject * )self ;
746
+ return Py_NewRef (self );
756
747
}
757
748
758
749
if (input_size > PY_SSIZE_T_MAX / n ) {
@@ -770,8 +761,7 @@ list_inplace_repeat(PyListObject *self, Py_ssize_t n)
770
761
_Py_memory_repeat ((char * )items , sizeof (PyObject * )* output_size ,
771
762
sizeof (PyObject * )* input_size );
772
763
773
- Py_INCREF (self );
774
- return (PyObject * )self ;
764
+ return Py_NewRef (self );
775
765
}
776
766
777
767
static int
@@ -784,8 +774,7 @@ list_ass_item(PyListObject *a, Py_ssize_t i, PyObject *v)
784
774
}
785
775
if (v == NULL )
786
776
return list_ass_slice (a , i , i + 1 , v );
787
- Py_INCREF (v );
788
- Py_SETREF (a -> ob_item [i ], v );
777
+ Py_SETREF (a -> ob_item [i ], Py_NewRef (v ));
789
778
return 0 ;
790
779
}
791
780
@@ -913,8 +902,7 @@ list_extend(PyListObject *self, PyObject *iterable)
913
902
dest = self -> ob_item + m ;
914
903
for (i = 0 ; i < n ; i ++ ) {
915
904
PyObject * o = src [i ];
916
- Py_INCREF (o );
917
- dest [i ] = o ;
905
+ dest [i ] = Py_NewRef (o );
918
906
}
919
907
Py_DECREF (iterable );
920
908
Py_RETURN_NONE ;
@@ -1002,8 +990,7 @@ list_inplace_concat(PyListObject *self, PyObject *other)
1002
990
if (result == NULL )
1003
991
return result ;
1004
992
Py_DECREF (result );
1005
- Py_INCREF (self );
1006
- return (PyObject * )self ;
993
+ return Py_NewRef (self );
1007
994
}
1008
995
1009
996
/*[clinic input]
@@ -2512,8 +2499,7 @@ list_sort_impl(PyListObject *self, PyObject *keyfunc, int reverse)
2512
2499
}
2513
2500
PyMem_Free (final_ob_item );
2514
2501
}
2515
- Py_XINCREF (result );
2516
- return result ;
2502
+ return Py_XNewRef (result );
2517
2503
}
2518
2504
#undef IFLT
2519
2505
#undef ISLT
@@ -2901,8 +2887,7 @@ list_subscript(PyListObject* self, PyObject* item)
2901
2887
dest = ((PyListObject * )result )-> ob_item ;
2902
2888
for (cur = start , i = 0 ; i < slicelength ;
2903
2889
cur += (size_t )step , i ++ ) {
2904
- it = src [cur ];
2905
- Py_INCREF (it );
2890
+ it = Py_NewRef (src [cur ]);
2906
2891
dest [i ] = it ;
2907
2892
}
2908
2893
Py_SET_SIZE (result , slicelength );
@@ -3057,8 +3042,7 @@ list_ass_subscript(PyListObject* self, PyObject* item, PyObject* value)
3057
3042
for (cur = start , i = 0 ; i < slicelength ;
3058
3043
cur += (size_t )step , i ++ ) {
3059
3044
garbage [i ] = selfitems [cur ];
3060
- ins = seqitems [i ];
3061
- Py_INCREF (ins );
3045
+ ins = Py_NewRef (seqitems [i ]);
3062
3046
selfitems [cur ] = ins ;
3063
3047
}
3064
3048
@@ -3199,8 +3183,7 @@ list_iter(PyObject *seq)
3199
3183
if (it == NULL )
3200
3184
return NULL ;
3201
3185
it -> it_index = 0 ;
3202
- Py_INCREF (seq );
3203
- it -> it_seq = (PyListObject * )seq ;
3186
+ it -> it_seq = (PyListObject * )Py_NewRef (seq );
3204
3187
_PyObject_GC_TRACK (it );
3205
3188
return (PyObject * )it ;
3206
3189
}
@@ -3235,8 +3218,7 @@ listiter_next(_PyListIterObject *it)
3235
3218
if (it -> it_index < PyList_GET_SIZE (seq )) {
3236
3219
item = PyList_GET_ITEM (seq , it -> it_index );
3237
3220
++ it -> it_index ;
3238
- Py_INCREF (item );
3239
- return item ;
3221
+ return Py_NewRef (item );
3240
3222
}
3241
3223
3242
3224
it -> it_seq = NULL ;
@@ -3350,8 +3332,7 @@ list___reversed___impl(PyListObject *self)
3350
3332
return NULL ;
3351
3333
assert (PyList_Check (self ));
3352
3334
it -> it_index = PyList_GET_SIZE (self ) - 1 ;
3353
- Py_INCREF (self );
3354
- it -> it_seq = self ;
3335
+ it -> it_seq = (PyListObject * )Py_NewRef (self );
3355
3336
PyObject_GC_Track (it );
3356
3337
return (PyObject * )it ;
3357
3338
}
@@ -3389,8 +3370,7 @@ listreviter_next(listreviterobject *it)
3389
3370
if (index >=0 && index < PyList_GET_SIZE (seq )) {
3390
3371
item = PyList_GET_ITEM (seq , index );
3391
3372
it -> it_index -- ;
3392
- Py_INCREF (item );
3393
- return item ;
3373
+ return Py_NewRef (item );
3394
3374
}
3395
3375
it -> it_index = -1 ;
3396
3376
it -> it_seq = NULL ;
0 commit comments