@@ -1812,53 +1812,6 @@ specialize_class_call(PyObject *callable, _Py_CODEUNIT *instr, int nargs)
18121812return 0 ;
18131813}
18141814
1815- #ifdef Py_STATS
1816- static int
1817- builtin_call_fail_kind (int ml_flags )
1818- {
1819- switch (ml_flags & (METH_VARARGS |METH_FASTCALL |METH_NOARGS |METH_O |
1820- METH_KEYWORDS |METH_METHOD )) {
1821- case METH_VARARGS :
1822- return SPEC_FAIL_CALL_CFUNC_VARARGS ;
1823- case METH_VARARGS |METH_KEYWORDS :
1824- return SPEC_FAIL_CALL_CFUNC_VARARGS_KEYWORDS ;
1825- case METH_NOARGS :
1826- return SPEC_FAIL_CALL_CFUNC_NOARGS ;
1827- case METH_METHOD |METH_FASTCALL |METH_KEYWORDS :
1828- return SPEC_FAIL_CALL_CFUNC_METHOD_FASTCALL_KEYWORDS ;
1829- /* These cases should be optimized, but return "other" just in case */
1830- case METH_O :
1831- case METH_FASTCALL :
1832- case METH_FASTCALL |METH_KEYWORDS :
1833- return SPEC_FAIL_OTHER ;
1834- default :
1835- return SPEC_FAIL_CALL_BAD_CALL_FLAGS ;
1836- }
1837- }
1838-
1839- static int
1840- meth_descr_call_fail_kind (int ml_flags )
1841- {
1842- switch (ml_flags & (METH_VARARGS |METH_FASTCALL |METH_NOARGS |METH_O |
1843- METH_KEYWORDS |METH_METHOD )) {
1844- case METH_VARARGS :
1845- return SPEC_FAIL_CALL_METH_DESCR_VARARGS ;
1846- case METH_VARARGS |METH_KEYWORDS :
1847- return SPEC_FAIL_CALL_METH_DESCR_VARARGS_KEYWORDS ;
1848- case METH_METHOD |METH_FASTCALL |METH_KEYWORDS :
1849- return SPEC_FAIL_CALL_METH_DESCR_METHOD_FASTCALL_KEYWORDS ;
1850- /* These cases should be optimized, but return "other" just in case */
1851- case METH_NOARGS :
1852- case METH_O :
1853- case METH_FASTCALL :
1854- case METH_FASTCALL |METH_KEYWORDS :
1855- return SPEC_FAIL_OTHER ;
1856- default :
1857- return SPEC_FAIL_CALL_BAD_CALL_FLAGS ;
1858- }
1859- }
1860- #endif // Py_STATS
1861-
18621815static int
18631816specialize_method_descriptor (PyMethodDescrObject * descr ,_Py_CODEUNIT * instr ,
18641817int nargs )
@@ -1985,33 +1938,6 @@ specialize_c_call(PyObject *callable, _Py_CODEUNIT *instr, int nargs)
19851938 }
19861939}
19871940
1988- #ifdef Py_STATS
1989- static int
1990- call_fail_kind (PyObject * callable )
1991- {
1992- assert (!PyCFunction_CheckExact (callable ));
1993- assert (!PyFunction_Check (callable ));
1994- assert (!PyType_Check (callable ));
1995- assert (!Py_IS_TYPE (callable ,& PyMethodDescr_Type ));
1996- assert (!PyMethod_Check (callable ));
1997- if (PyInstanceMethod_Check (callable )) {
1998- return SPEC_FAIL_CALL_INSTANCE_METHOD ;
1999- }
2000- // builtin method
2001- else if (PyCMethod_Check (callable )) {
2002- return SPEC_FAIL_CALL_CMETHOD ;
2003- }
2004- else if (Py_TYPE (callable )== & PyWrapperDescr_Type ) {
2005- return SPEC_FAIL_CALL_OPERATOR_WRAPPER ;
2006- }
2007- else if (Py_TYPE (callable )== & _PyMethodWrapper_Type ) {
2008- return SPEC_FAIL_CALL_METHOD_WRAPPER ;
2009- }
2010- return SPEC_FAIL_OTHER ;
2011- }
2012- #endif // Py_STATS
2013-
2014-
20151941void
20161942_Py_Specialize_Call (PyObject * callable ,_Py_CODEUNIT * instr ,int nargs )
20171943{