[pypy-commit] pypy remove-array-smm: shuffle stuff around and remove the array registration from stdobjspace

fijal noreply at buildbot.pypy.org
Mon May 13 01:28:16 CEST 2013


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: remove-array-smm
Changeset: r64023:29b186204c71
Date: 2013-05-13 01:27 +0200
http://bitbucket.org/pypy/pypy/changeset/29b186204c71/

Log:	shuffle stuff around and remove the array registration from
	stdobjspace

diff --git a/pypy/module/array/interp_array.py b/pypy/module/array/interp_array.py
--- a/pypy/module/array/interp_array.py
+++ b/pypy/module/array/interp_array.py
@@ -3,10 +3,9 @@
 from pypy.interpreter.buffer import RWBuffer
 from pypy.interpreter.error import OperationError
 from pypy.interpreter.gateway import interp2app, unwrap_spec, interpindirect2app
-from pypy.interpreter.typedef import GetSetProperty, make_weakref_descr
+from pypy.interpreter.typedef import GetSetProperty, make_weakref_descr, TypeDef
 from pypy.module._file.interp_file import W_File
 from pypy.objspace.std.model import W_Object
-from pypy.objspace.std.stdtypedef import StdTypeDef
 from rpython.rlib import jit
 from rpython.rlib.rarithmetic import ovfcheck, widen
 from rpython.rlib.unroll import unrolling_iterable
@@ -108,6 +107,8 @@
 
 
 class W_ArrayBase(W_Object):
+    _attrs_ = ('space', 'len', 'allocated', '_lifeline_') # no buffer
+    
     def __init__(self, space):
         self.space = space
         self.len = 0
@@ -463,7 +464,7 @@
     def register(typeorder):
         typeorder[W_ArrayBase] = []
 
-W_ArrayBase.typedef = StdTypeDef(
+W_ArrayBase.typedef = TypeDef(
     'array',
     __new__ = interp2app(w_array),
     __module__   = 'array',
@@ -519,7 +520,6 @@
     __reduce__ = interp2app(W_ArrayBase.descr_reduce),
     byteswap = interp2app(W_ArrayBase.descr_byteswap),
 )
-W_ArrayBase.typedef.registermethods(globals())
 
 
 class TypeCode(object):
@@ -595,9 +595,7 @@
         itemsize = mytype.bytes
         typecode = mytype.typecode
 
-        @staticmethod
-        def register(typeorder):
-            typeorder[W_Array] = [(W_ArrayBase, None)]
+        _attrs_ = ('space', 'len', 'allocated', '_lifeline_', 'buffer')
 
         def __init__(self, space):
             W_ArrayBase.__init__(self, space)
diff --git a/pypy/objspace/std/model.py b/pypy/objspace/std/model.py
--- a/pypy/objspace/std/model.py
+++ b/pypy/objspace/std/model.py
@@ -80,8 +80,6 @@
         import pypy.objspace.std.default # register a few catch-all multimethods
 
         import pypy.objspace.std.marshal_impl # install marshal multimethods
-        if config.objspace.usemodules.array:
-            import pypy.module.array
 
         # the set of implementation types
         self.typeorder = {


More information about the pypy-commit mailing list