[pypy-commit] pypy reflex-support: minor fixes

wlav noreply at buildbot.pypy.org
Thu Feb 16 19:42:21 CET 2012


Author: Wim Lavrijsen <WLavrijsen at lbl.gov>
Branch: reflex-support
Changeset: r52559:ea2e484181c9
Date: 2012-02-15 13:26 -0800
http://bitbucket.org/pypy/pypy/changeset/ea2e484181c9/

Log:	minor fixes

diff --git a/pypy/module/cppyy/interp_cppyy.py b/pypy/module/cppyy/interp_cppyy.py
--- a/pypy/module/cppyy/interp_cppyy.py
+++ b/pypy/module/cppyy/interp_cppyy.py
@@ -92,7 +92,7 @@
 class CPPMethod(object):
     """ A concrete function after overloading has been resolved """
     _immutable_ = True
-    _immutable_fields_ = ["arg_defs[*]", "arg_converters[*]"]
+    _immutable_fields_ = ["_libffifunc_cache[*]", "arg_converters[*]"]
     
     def __init__(self, cpptype, method_index, result_type, arg_defs, args_required):
         self.cpptype = cpptype
@@ -151,11 +151,11 @@
 
     @jit.elidable_promote()
     def _prepare_libffi_func(self, funcptr):
-        if self.arg_converters is None:
-             self._build_converters()
         key = rffi.cast(rffi.LONG, funcptr)
         if key in self._libffifunc_cache:
             return self._libffifunc_cache[key]
+        if self.arg_converters is None:
+             self._build_converters()
         argtypes_libffi = [conv.libffitype for conv in self.arg_converters
                               if conv.libffitype]
         if (len(argtypes_libffi) == len(self.arg_converters) and


More information about the pypy-commit mailing list