@@ -882,7 +882,6 @@ LOCAL(PyObject *)
882882deepcopy (elementtreestate * st , PyObject * object , PyObject * memo )
883883{
884884 /* do a deep copy of the given object */
885- PyObject * stack [2 ];
886885
887886 /* Fast paths */
888887 if (object == Py_None || PyUnicode_CheckExact (object )) {
@@ -917,9 +916,8 @@ deepcopy(elementtreestate *st, PyObject *object, PyObject *memo)
917916 return NULL ;
918917 }
919918
920- stack [0 ] = object ;
921- stack [1 ] = memo ;
922- return _PyObject_FastCall (st -> deepcopy_obj , stack , 2 );
919+ PyObject * args [2 ] = {object , memo };
920+ return PyObject_Vectorcall (st -> deepcopy_obj , args , 2 , NULL );
923921}
924922
925923
@@ -2852,14 +2850,14 @@ treebuilder_handle_pi(TreeBuilderObject* self, PyObject* target, PyObject* text)
28522850{
28532851 PyObject * pi ;
28542852 PyObject * this ;
2855- PyObject * stack [2 ] = {target , text };
28562853
28572854 if (treebuilder_flush_data (self ) < 0 ) {
28582855 return NULL ;
28592856 }
28602857
28612858 if (self -> pi_factory ) {
2862- pi = _PyObject_FastCall (self -> pi_factory , stack , 2 );
2859+ PyObject * args [2 ] = {target , text };
2860+ pi = PyObject_Vectorcall (self -> pi_factory , args , 2 , NULL );
28632861 if (!pi ) {
28642862 return NULL ;
28652863 }
@@ -3372,7 +3370,6 @@ expat_start_ns_handler(XMLParserObject* self, const XML_Char* prefix_in,
33723370 PyObject * res = NULL ;
33733371 PyObject * uri ;
33743372 PyObject * prefix ;
3375- PyObject * stack [2 ];
33763373
33773374 if (PyErr_Occurred ())
33783375 return ;
@@ -3411,9 +3408,8 @@ expat_start_ns_handler(XMLParserObject* self, const XML_Char* prefix_in,
34113408 return ;
34123409 }
34133410
3414- stack [0 ] = prefix ;
3415- stack [1 ] = uri ;
3416- res = _PyObject_FastCall (self -> handle_start_ns , stack , 2 );
3411+ PyObject * args [2 ] = {prefix , uri };
3412+ res = PyObject_Vectorcall (self -> handle_start_ns , args , 2 , NULL );
34173413 Py_DECREF (uri );
34183414 Py_DECREF (prefix );
34193415 }
@@ -3551,7 +3547,6 @@ expat_pi_handler(XMLParserObject* self, const XML_Char* target_in,
35513547 PyObject * pi_target ;
35523548 PyObject * data ;
35533549 PyObject * res ;
3554- PyObject * stack [2 ];
35553550
35563551 if (PyErr_Occurred ())
35573552 return ;
@@ -3581,9 +3576,8 @@ expat_pi_handler(XMLParserObject* self, const XML_Char* target_in,
35813576 if (!data )
35823577 goto error ;
35833578
3584- stack [0 ] = pi_target ;
3585- stack [1 ] = data ;
3586- res = _PyObject_FastCall (self -> handle_pi , stack , 2 );
3579+ PyObject * args [2 ] = {pi_target , data };
3580+ res = PyObject_Vectorcall (self -> handle_pi , args , 2 , NULL );
35873581 Py_XDECREF (res );
35883582 Py_DECREF (data );
35893583 Py_DECREF (pi_target );
0 commit comments