Author: Wim Lavrijsen <[email protected]>
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
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to