[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