[pypy-svn] r76318 - pypy/branch/fast-ctypes/pypy/rlib

getxsick at codespeak.net getxsick at codespeak.net
Thu Jul 22 21:40:07 CEST 2010


Author: getxsick
Date: Thu Jul 22 21:40:06 2010
New Revision: 76318

Modified:
   pypy/branch/fast-ctypes/pypy/rlib/rjitffi.py
Log:
rollback r76317. there is no need to have cache if we use static classes.


Modified: pypy/branch/fast-ctypes/pypy/rlib/rjitffi.py
==============================================================================
--- pypy/branch/fast-ctypes/pypy/rlib/rjitffi.py	(original)
+++ pypy/branch/fast-ctypes/pypy/rlib/rjitffi.py	Thu Jul 22 21:40:06 2010
@@ -81,7 +81,7 @@
             else:
                 raise ValueError(self.res_type)
 
-            calldescr = self.gen_calldescr()
+            calldescr = self.gen_calldescr() # XXX add cache
             self.looptoken = LoopToken()
             oplist = [ResOperation(rop.CALL, bargs, bres, descr=calldescr),
                       ResOperation(rop.FINISH, [bres], None,
@@ -92,7 +92,7 @@
             cache[self.res_type] = { tuple(self.args_type) : self.looptoken }
         self.setup_stack()
 
-    def gen_calldescr(self, extrainfo=None):
+    def gen_calldescr(self):
         arg_classes = ''.join(self.args_type)
         gccache = self.cpu.gc_ll_descr
 
@@ -108,15 +108,9 @@
             raise NotImplementedError('Unknown type of descr: %s'
                                       % self.res_type)
 
-        key = (cls, arg_classes, extrainfo)
-        cache = gccache._cache_call
-        try:
-            return cache[key]
-        except KeyError:
-            calldescr = cls(arg_classes, extrainfo)
-            calldescr.create_call_stub(gccache.rtyper, self.res)
-            cache[key] = calldescr
-            return calldescr
+        calldescr = cls(arg_classes)
+        calldescr.create_call_stub(gccache.rtyper, self.res)
+        return calldescr
 
     def call(self, push_result):
         res = self.cpu.execute_token(self.looptoken)
@@ -159,3 +153,4 @@
     _clsname = 'SignedCallDescr'
     def get_result_size(self, translate_support_code):
         return symbolic.get_size(lltype.Signed, translate_support_code)
+



More information about the Pypy-commit mailing list