Author: Alex Gaynor <[email protected]>
Branch: kill-someobject
Changeset: r57811:d841b47e2987
Date: 2012-10-07 06:20 -0700
http://bitbucket.org/pypy/pypy/changeset/d841b47e2987/
Log: (alex, arigato) really remove these files
diff --git a/pypy/rpython/robject.py b/pypy/rpython/robject.py
deleted file mode 100644
--- a/pypy/rpython/robject.py
+++ /dev/null
@@ -1,84 +0,0 @@
-from pypy.tool.pairtype import pairtype
-from pypy.annotation import model as annmodel
-from pypy.rpython.lltypesystem.lltype import \
- PyObject, Ptr, Void, pyobjectptr, nullptr, Bool
-from pypy.rpython.rmodel import Repr, VoidRepr, inputconst
-from pypy.rpython import rclass
-from pypy.tool.sourcetools import func_with_new_name
-
-
-class __extend__(annmodel.SomeObject):
- def rtyper_makerepr(self, rtyper):
- kind = getkind(self)
- if kind == "type":
- return rclass.get_type_repr(rtyper)
- elif kind == "const":
- return constpyobj_repr
- else:
- return pyobj_repr
- def rtyper_makekey(self):
- return self.__class__, getkind(self)
-
-def getkind(s_obj):
- if s_obj.is_constant():
- if getattr(s_obj.const, '__module__', None) == '__builtin__':
- return "const"
- if s_obj.knowntype is type:
- return "type"
- if s_obj.is_constant():
- return "const"
- return "pyobj"
-
-
-class PyObjRepr(Repr):
- def convert_const(self, value):
- return pyobjectptr(value)
- def make_iterator_repr(self):
- return pyobj_repr
-
-pyobj_repr = PyObjRepr()
-pyobj_repr.lowleveltype = Ptr(PyObject)
-constpyobj_repr = PyObjRepr()
-constpyobj_repr.lowleveltype = Void
-
-
-class __extend__(pairtype(VoidRepr, PyObjRepr)):
- # conversion used to return a PyObject* when a function can really only
- # raise an exception, in which case the return value is a VoidRepr
- def convert_from_to(_, v, llops):
- return inputconst(Ptr(PyObject), nullptr(PyObject))
-
-
-# ____________________________________________________________
-#
-# All operations involving a PyObjRepr are "replaced" by themselves,
-# after converting all other arguments to PyObjRepr as well. This
-# basically defers the operations to the care of the code generator.
-
-def make_operation(opname, cls=PyObjRepr):
- def rtype_op(_, hop):
- vlist = hop.inputargs(*([pyobj_repr]*hop.nb_args))
- hop.exception_is_here()
- v = hop.genop(opname, vlist, resulttype=pyobj_repr)
- if not isinstance(hop.r_result, VoidRepr):
- return hop.llops.convertvar(v, pyobj_repr, hop.r_result)
-
- funcname = 'rtype_' + opname
- func = func_with_new_name(rtype_op, funcname)
- assert funcname not in cls.__dict__ # can be in Repr; overridden then.
- setattr(cls, funcname, func)
-
-
-for opname in annmodel.UNARY_OPERATIONS:
- make_operation(opname)
-
-for opname in annmodel.BINARY_OPERATIONS:
- make_operation(opname, pairtype(PyObjRepr, Repr))
- make_operation(opname, pairtype(Repr, PyObjRepr))
-
-
-class __extend__(pairtype(PyObjRepr, PyObjRepr)):
- def rtype_contains((r_seq, r_item), hop):
- v_seq, v_item = hop.inputargs(r_seq, r_item)
- return hop.llops.gencapicall('PySequence_Contains_with_exc',
- [v_seq, v_item], resulttype=Bool)
diff --git a/pypy/translator/c/src/pyobj.h b/pypy/translator/c/src/pyobj.h
deleted file mode 100644
--- a/pypy/translator/c/src/pyobj.h
+++ /dev/null
@@ -1,265 +0,0 @@
-
-/************************************************************/
- /*** C header subsection: untyped operations ***/
- /*** as OP_XXX() macros calling the CPython API ***/
-#ifdef PYPY_CPYTHON_EXTENSION
-
-#define op_bool(r,what) { \
- int _retval = what; \
- if (_retval < 0) {CFAIL(); } \
- else \
- r = PyBool_FromLong(_retval); \
- }
-
-#define op_richcmp(x,y,r,dir) \
- if (!(r=PyObject_RichCompare(x,y,dir)))
CFAIL()
-#define OP_LT(x,y,r) op_richcmp(x,y,r, Py_LT)
-#define OP_LE(x,y,r) op_richcmp(x,y,r, Py_LE)
-#define OP_EQ(x,y,r) op_richcmp(x,y,r, Py_EQ)
-#define OP_NE(x,y,r) op_richcmp(x,y,r, Py_NE)
-#define OP_GT(x,y,r) op_richcmp(x,y,r, Py_GT)
-#define OP_GE(x,y,r) op_richcmp(x,y,r, Py_GE)
-
-#define OP_IS_(x,y,r) op_bool(r,(x == y))
-
-#define OP_IS_TRUE(x,r) op_bool(r,PyObject_IsTrue(x))
-#define OP_NONZERO(x,r) op_bool(r,PyObject_IsTrue(x))
-
-#define OP_LEN(x,r) do { \
- int _retval = PyObject_Size(x); \
- if (_retval < 0) { CFAIL(); } \
- else \
- r = PyInt_FromLong(_retval); \
- } while (0)
-#define OP_NEG(x,r) if (!(r=PyNumber_Negative(x))) CFAIL()
-#define OP_POS(x,r) if (!(r=PyNumber_Positive(x))) CFAIL()
-#define OP_INVERT(x,r) if (!(r=PyNumber_Invert(x))) CFAIL()
-#define OP_ABS(x,r) if (!(r=PyNumber_Absolute(x))) CFAIL()
-
-#define OP_ADD(x,y,r) if (!(r=PyNumber_Add(x,y))) CFAIL()
-#define OP_SUB(x,y,r) if (!(r=PyNumber_Subtract(x,y))) CFAIL()
-#define OP_MUL(x,y,r) if (!(r=PyNumber_Multiply(x,y))) CFAIL()
-#define OP_TRUEDIV(x,y,r) if (!(r=PyNumber_TrueDivide(x,y))) CFAIL()
-#define OP_FLOORDIV(x,y,r) if (!(r=PyNumber_FloorDivide(x,y)))CFAIL()
-#define OP_DIV(x,y,r) if (!(r=PyNumber_Divide(x,y))) CFAIL()
-#define OP_MOD(x,y,r) if (!(r=PyNumber_Remainder(x,y))) CFAIL()
-#define OP_DIVMOD(x,y,r) if (!(r=PyNumber_Divmod(x,y))) CFAIL()
-#define OP_POW(x,y,z,r) if (!(r=PyNumber_Power(x,y,z))) CFAIL()
-#define OP_LSHIFT(x,y,r) if (!(r=PyNumber_Lshift(x,y))) CFAIL()
-#define OP_RSHIFT(x,y,r) if (!(r=PyNumber_Rshift(x,y))) CFAIL()
-#define OP_AND_(x,y,r) if (!(r=PyNumber_And(x,y))) CFAIL()
-#define OP_OR_(x,y,r) if (!(r=PyNumber_Or(x,y))) CFAIL()
-#define OP_XOR(x,y,r) if (!(r=PyNumber_Xor(x,y))) CFAIL()
-
-#define OP_INPLACE_ADD(x,y,r) if (!(r=PyNumber_InPlaceAdd(x,y))) \
- CFAIL()
-#define OP_INPLACE_SUB(x,y,r) if (!(r=PyNumber_InPlaceSubtract(x,y))) \
- CFAIL()
-#define OP_INPLACE_MUL(x,y,r) if (!(r=PyNumber_InPlaceMultiply(x,y))) \
- CFAIL()
-#define OP_INPLACE_TRUEDIV(x,y,r) if (!(r=PyNumber_InPlaceTrueDivide(x,y)))\
- CFAIL()
-#define OP_INPLACE_FLOORDIV(x,y,r)if(!(r=PyNumber_InPlaceFloorDivide(x,y)))\
- CFAIL()
-#define OP_INPLACE_DIV(x,y,r) if (!(r=PyNumber_InPlaceDivide(x,y))) \
- CFAIL()
-#define OP_INPLACE_MOD(x,y,r) if (!(r=PyNumber_InPlaceRemainder(x,y))) \
- CFAIL()
-#define OP_INPLACE_POW(x,y,r) if (!(r=PyNumber_InPlacePower(x,y,Py_None))) \
- CFAIL()
-#define OP_INPLACE_LSHIFT(x,y,r) if (!(r=PyNumber_InPlaceLshift(x,y))) \
- CFAIL()
-#define OP_INPLACE_RSHIFT(x,y,r) if (!(r=PyNumber_InPlaceRshift(x,y))) \
- CFAIL()
-#define OP_INPLACE_AND(x,y,r) if (!(r=PyNumber_InPlaceAnd(x,y))) \
- CFAIL()
-#define OP_INPLACE_OR(x,y,r) if (!(r=PyNumber_InPlaceOr(x,y))) \
- CFAIL()
-#define OP_INPLACE_XOR(x,y,r) if (!(r=PyNumber_InPlaceXor(x,y))) \
- CFAIL()
-
-#define OP_GETITEM(x,y,r) if (!(r=PyObject_GetItem1(x,y))) CFAIL()
-#define OP_SETITEM(x,y,z,r) if ((PyObject_SetItem1(x,y,z))<0) {CFAIL(); }\
- else \
- r=Py_None; Py_INCREF(r)
-#define OP_DELITEM(x,y,r) if ((PyObject_DelItem(x,y))<0) CFAIL();\
- r=Py_None; Py_INCREF(r)
-#define OP_CONTAINS(x,y,r) op_bool(r,(PySequence_Contains(x,y)))
-
-#define OP_GETATTR(x,y,r) if (!(r=PyObject_GetAttr(x,y))) CFAIL()
-#define OP_SETATTR(x,y,z,r) if ((PyObject_SetAttr(x,y,z))<0) {CFAIL();}\
- else \
- r=Py_None; Py_INCREF(r)
-#define OP_DELATTR(x,y,r) if ((PyObject_SetAttr(x,y,NULL))<0) {CFAIL();}\
- else \
- r=Py_None; Py_INCREF(r)
-
-#define OP_NEWSLICE(x,y,z,r) if (!(r=PySlice_New(x,y,z))) CFAIL()
-
-#define OP_GETSLICE(x,y,z,r) {
\
- PyObject *__yo = y, *__zo = z; \
- int __y = 0, __z = INT_MAX; \
- if (__yo == Py_None) __yo = NULL; \
- if (__zo == Py_None) __zo = NULL; \
- if (!_PyEval_SliceIndex(__yo, &__y) || \
- !_PyEval_SliceIndex(__zo, &__z) || \
- !(r=PySequence_GetSlice(x, __y, __z))) CFAIL(); \
- }
-
-#define OP_ALLOC_AND_SET(x,y,r) { \
- /* XXX check for long/int overflow */ \
- int __i, __x = PyInt_AsLong(x); \
- if (PyErr_Occurred()) CFAIL(); \
- else { \
- if (!(r = PyList_New(__x))) CFAIL(); \
- else { \
- for (__i=0; __i<__x; __i++) { \
- Py_INCREF(y); \
- PyList_SET_ITEM(r, __i, y); \
- } \
- } \
- } \
- }
-
-#define OP_ITER(x,r) if (!(r=PyObject_GetIter(x))) CFAIL()
-#define OP_NEXT(x,r) if (!(r=PyIter_Next(x))) { \
- if (!PyErr_Occurred()) PyErr_SetNone(PyExc_StopIteration); \
- CFAIL(); \
- }
-
-#define OP_STR(x,r) if (!(r=PyObject_Str(x))) CFAIL()
-#define OP_REPR(x,r) if (!(r=PyObject_Repr(x))) CFAIL()
-#define OP_ORD(s,r) { \
- char *__c = PyString_AsString(s); \
- int __len; \
- if ( !__c) CFAIL(); \
- else { \
- if ((__len = PyString_GET_SIZE(s)) != 1) { \
- PyErr_Format(PyExc_TypeError, \
- "ord() expected a character, but string of length %d
found", \
- __len); \
- CFAIL(); \
- } \
- else if (!(r = PyInt_FromLong((unsigned char)(__c[0])))) \
- { CFAIL(); }\
- } \
- }
-#define OP_ID(x,r) if (!(r=PyLong_FromVoidPtr(x))) CFAIL()
-#define OP_HASH(x,r) { \
- long __hash = PyObject_Hash(x); \
- if (__hash == -1 && PyErr_Occurred()) CFAIL(); \
- else if (!(r = PyInt_FromLong(__hash))) { CFAIL(); } \
- }
-
-#define OP_HEX(x,r) { \
- PyNumberMethods *__nb; \
- if ((__nb = x->ob_type->tp_as_number) == NULL || \
- __nb->nb_hex == NULL) { \
- PyErr_SetString(PyExc_TypeError, \
- "hex() argument can't be converted to hex"); \
- CFAIL(); \
- } \
- else if (!(r = (*__nb->nb_hex)(x))) { CFAIL(); } \
- }
-#define OP_OCT(x,r) { \
- PyNumberMethods *__nb; \
- if ((__nb = x->ob_type->tp_as_number) == NULL || \
- __nb->nb_oct == NULL) { \
- PyErr_SetString(PyExc_TypeError, \
- "oct() argument can't be converted to oct"); \
- CFAIL(); \
- } \
- else if (!(r = (*__nb->nb_oct)(x))) { CFAIL(); } \
- }
-
-#define OP_INT(x,r) { \
- long __val = PyInt_AsLong(x); \
- if (__val == -1 && PyErr_Occurred()) CFAIL(); \
- else if (!(r = PyInt_FromLong(__val))) { CFAIL (); } \
- }
-#define OP_FLOAT(x,r) { \
- double __val = PyFloat_AsDouble(x); \
- if (PyErr_Occurred()) CFAIL(); \
- else if (!(r = PyFloat_FromDouble(__val))) { CFAIL (); } \
- }
-
-#define OP_CMP(x,y,r) { \
- int __val = PyObject_Compare(x, y); \
- if (PyErr_Occurred()) CFAIL(); \
- else if (!(r = PyInt_FromLong(__val))) { CFAIL (); }\
- }
-
-
-#define OP_SIMPLE_CALL(args,r) if (!(r=PyObject_CallFunctionObjArgs args)) \
- CFAIL()
-#define OP_CALL_ARGS(args,r) if (!(r=CallWithShape args)) CFAIL()
-
-/* Needs to act like getattr(x, '__class__', type(x)) */
-#define OP_TYPE(x,r) { \
- PyObject *o = x; \
- if (PyInstance_Check(o)) { \
- r = (PyObject*)(((PyInstanceObject*)o)->in_class); \
- } else { \
- r = (PyObject*)o->ob_type; \
- } \
- Py_INCREF(r); \
- }
-
-/* Needs to act like instance(x,y) */
-#define OP_ISSUBTYPE(x,y,r) \
- op_bool(r,PyObject_IsSubclass(x, y))
-
-
-/*** operations with a variable number of arguments ***/
-
-#define OP_NEWLIST0(r) if (!(r=PyList_New(0))) CFAIL()
-#define OP_NEWLIST(args,r) if (!(r=PyList_Pack args)) CFAIL()
-#define OP_NEWDICT0(r) if (!(r=PyDict_New())) CFAIL()
-#define OP_NEWDICT(args,r) if (!(r=PyDict_Pack args)) CFAIL()
-#define OP_NEWTUPLE(args,r) if (!(r=PyTuple_Pack args)) CFAIL()
-
-unsigned long long RPyLong_AsUnsignedLongLong(PyObject *v);
-long long RPyLong_AsLongLong(PyObject *v);
-
-#ifndef PYPY_NOT_MAIN_FILE
-
-#if (PY_VERSION_HEX < 0x02040000)
-
-unsigned long RPyLong_AsUnsignedLong(PyObject *v)
-{
- if (PyInt_Check(v)) {
- long val = PyInt_AsLong(v);
- if (val < 0) {
- PyErr_SetNone(PyExc_OverflowError);
- return (unsigned long)-1;
- }
- return val;
- } else {
- return PyLong_AsUnsignedLong(v);
- }
-}
-
-#else
-#define RPyLong_AsUnsignedLong PyLong_AsUnsignedLong
-#endif
-
-
-unsigned long long RPyLong_AsUnsignedLongLong(PyObject *v)
-{
- if (PyInt_Check(v))
- return PyInt_AsLong(v);
- else
- return PyLong_AsUnsignedLongLong(v);
-}
-
-long long RPyLong_AsLongLong(PyObject *v)
-{
- if (PyInt_Check(v))
- return PyInt_AsLong(v);
- else
- return PyLong_AsLongLong(v);
-}
-
-#endif
-
-#endif /* PYPY_CPYTHON_EXTENSION */
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit