[pypy-commit] lang-smalltalk default: added long and interpreter proxy minor 4 stubs

lwassermann noreply at buildbot.pypy.org
Tue Jun 18 16:04:04 CEST 2013


Author: Lars Wassermann <lars.wassermann at gmail.com>
Branch: 
Changeset: r447:679647db7890
Date: 2013-06-11 11:43 +0200
http://bitbucket.org/pypy/lang-smalltalk/changeset/679647db7890/

Log:	added long and interpreter proxy minor 4 stubs

diff --git a/spyvm/interpreter_proxy.py b/spyvm/interpreter_proxy.py
--- a/spyvm/interpreter_proxy.py
+++ b/spyvm/interpreter_proxy.py
@@ -34,7 +34,8 @@
     pass
 
 def expose_on_virtual_machine_proxy(unwrap_spec, result_type, minor=0, major=1):
-    mapping = {oop: sqInt, int: sqInt, list: sqIntArrayPtr, bool: sqInt, float: sqDouble, str: sqStr}
+    mapping = {oop: sqInt, int: sqInt, list: sqIntArrayPtr, bool: sqInt,
+                float: sqDouble, str: sqStr, long: sqLong}
     f_ptr = Ptr(FuncType([mapping[spec] for spec in unwrap_spec], mapping[result_type]))
     if minor < minor:
         minor = minor
@@ -75,6 +76,9 @@
                     return 0.0
                 elif mapping[result_type] is sqIntArrayPtr:
                     return rffi.cast(sqIntArrayPtr, 0)
+                elif mapping[result_type] is sqLong:
+                    # XXX: how to return a long 0?
+                    return 0
                 else:
                     raise NotImplementedError(
                         "InterpreterProxy: unknown result_type %s" % (result_type, ))
@@ -674,11 +678,25 @@
 # #   endif
 # #  endif
 
-#     sqInt  (*positive64BitIntegerFor)(sqLong integerValue);
-#     sqLong (*positive64BitValueOf)(sqInt oop);
-#     sqInt  (*signed64BitIntegerFor)(sqLong integerValue);
-#     sqLong (*signed64BitValueOf)(sqInt oop);
+ at expose_on_virtual_machine_proxy([long], oop, minor=4)
+def positive64BitIntegerFor(integerValue):
+    print 'Called InterpreterProxy >> positive64BitIntegerFor'
+    raise ProxyFunctionFailed
 
+ at expose_on_virtual_machine_proxy([oop], long, minor=4)
+def positive64BitValueOf(w_number):
+    print 'Called InterpreterProxy >> positive64BitValueOf'
+    raise ProxyFunctionFailed
+
+ at expose_on_virtual_machine_proxy([long], oop, minor=4)
+def signed64BitIntegerFor(integerValue):
+    print 'Called InterpreterProxy >> signed64BitIntegerFor'
+    raise ProxyFunctionFailed
+
+ at expose_on_virtual_machine_proxy([oop], long, minor=4)
+def signed64BitValueOf(w_number):
+    print 'Called InterpreterProxy >> signed64BitValueOf'
+    raise ProxyFunctionFailed
 # #endif
 
 # #if VM_PROXY_MINOR > 5


More information about the pypy-commit mailing list