Commit 75d00508 authored by Kevin Modzelewski's avatar Kevin Modzelewski

Reenable our tpp_call rewriting for these types

parent 4c3c6933
...@@ -314,6 +314,11 @@ classmethoddescr_call(PyMethodDescrObject *descr, PyObject *args, ...@@ -314,6 +314,11 @@ classmethoddescr_call(PyMethodDescrObject *descr, PyObject *args,
static PyObject * static PyObject *
wrapperdescr_call(PyWrapperDescrObject *descr, PyObject *args, PyObject *kwds) wrapperdescr_call(PyWrapperDescrObject *descr, PyObject *args, PyObject *kwds)
{ {
// Pyston overrides this with an optimized version
assert(0 && "This shouldn't be getting hit any more");
abort();
#if 0
Py_ssize_t argc; Py_ssize_t argc;
PyObject *self, *func, *result; PyObject *self, *func, *result;
...@@ -353,6 +358,7 @@ wrapperdescr_call(PyWrapperDescrObject *descr, PyObject *args, PyObject *kwds) ...@@ -353,6 +358,7 @@ wrapperdescr_call(PyWrapperDescrObject *descr, PyObject *args, PyObject *kwds)
Py_DECREF(args); Py_DECREF(args);
Py_DECREF(func); Py_DECREF(func);
return result; return result;
#endif
} }
#if 0 #if 0
...@@ -1040,6 +1046,11 @@ static PyGetSetDef wrapper_getsets[] = { ...@@ -1040,6 +1046,11 @@ static PyGetSetDef wrapper_getsets[] = {
static PyObject * static PyObject *
wrapper_call(wrapperobject *wp, PyObject *args, PyObject *kwds) wrapper_call(wrapperobject *wp, PyObject *args, PyObject *kwds)
{ {
// Pyston overrides this with an optimized version
assert(0 && "This shouldn't be getting hit any more");
abort();
#if 0
wrapperfunc wrapper = wp->descr->d_base->wrapper; wrapperfunc wrapper = wp->descr->d_base->wrapper;
PyObject *self = wp->self; PyObject *self = wp->self;
...@@ -1071,6 +1082,7 @@ wrapper_call(wrapperobject *wp, PyObject *args, PyObject *kwds) ...@@ -1071,6 +1082,7 @@ wrapper_call(wrapperobject *wp, PyObject *args, PyObject *kwds)
assert(!wp->descr->d_base->flags); assert(!wp->descr->d_base->flags);
return (*wrapper)(self, args, wp->descr->d_wrapped); return (*wrapper)(self, args, wp->descr->d_wrapped);
#endif
} }
static int static int
......
...@@ -711,10 +711,6 @@ void setupDescr() { ...@@ -711,10 +711,6 @@ void setupDescr() {
PyType_Ready(&PyGetSetDescr_Type); PyType_Ready(&PyGetSetDescr_Type);
PyType_Ready(&PyMemberDescr_Type); PyType_Ready(&PyMemberDescr_Type);
PyType_Ready(&wrappertype);
PyType_Ready(&PyWrapperDescr_Type);
#if 0
wrappertype.tpp_call.capi_val = wrapperObjectTppCall<CAPI>; wrappertype.tpp_call.capi_val = wrapperObjectTppCall<CAPI>;
wrappertype.tpp_call.cxx_val = wrapperObjectTppCall<CXX>; wrappertype.tpp_call.cxx_val = wrapperObjectTppCall<CXX>;
wrappertype.tp_call = proxyToTppCall; wrappertype.tp_call = proxyToTppCall;
...@@ -724,6 +720,5 @@ void setupDescr() { ...@@ -724,6 +720,5 @@ void setupDescr() {
PyWrapperDescr_Type.tpp_call.cxx_val = wrapperDescrTppCall<CXX>; PyWrapperDescr_Type.tpp_call.cxx_val = wrapperDescrTppCall<CXX>;
PyWrapperDescr_Type.tp_call = proxyToTppCall; PyWrapperDescr_Type.tp_call = proxyToTppCall;
PyType_Ready(&PyWrapperDescr_Type); PyType_Ready(&PyWrapperDescr_Type);
#endif
} }
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment