[pypy-commit] lang-smalltalk default: fixed two translation caveats

lwassermann noreply at buildbot.pypy.org
Sat Jun 1 11:48:21 CEST 2013


Author: Lars Wassermann <lars.wassermann at gmail.com>
Branch: 
Changeset: r434:85ca24ecf5fb
Date: 2013-06-01 11:48 +0200
http://bitbucket.org/pypy/lang-smalltalk/changeset/85ca24ecf5fb/

Log:	fixed two translation caveats

diff --git a/spyvm/interpreter_proxy.py b/spyvm/interpreter_proxy.py
--- a/spyvm/interpreter_proxy.py
+++ b/spyvm/interpreter_proxy.py
@@ -20,6 +20,7 @@
 sqInt = rffi.INT
 sqLong = rffi.LONG
 sqDouble = rffi.DOUBLE
+sqIntArray = rffi.CArray(sqInt)
 
 major = minor = 0
 functions = []
@@ -124,13 +125,13 @@
     IProxy.successFlag = False
     return 0
 
- at expose_on_virtual_machine_proxy(FuncType([sqInt], Ptr(lltype.Array(sqInt))))
+ at expose_on_virtual_machine_proxy(FuncType([sqInt], Ptr(sqIntArray)))
 def arrayValueOf(oop):
     w_array = IProxy.oop_to_object(oop)
     if isinstance(w_array, model.W_WordsObject) or isinstance(w_array, model.W_BytesObject):
         raise NotImplementedError
     IProxy.successFlag = False
-    return []
+    return rffi.cast(Ptr(sqIntArray), 0)
 
 @expose_on_virtual_machine_proxy(FuncType([sqInt], sqInt))
 def byteSizeOf(oop):
@@ -140,8 +141,8 @@
     if s_class.isvariable():
         size += w_object.primsize(IProxy.space)
     if isinstance(w_object, model.W_BytesObject):
-        size *= size * 4
-    return IProxy.space.wrap_int(size)
+        size *= 4
+    return size
 
 
 # ##############################################################################


More information about the pypy-commit mailing list