Author: Maciej Fijalkowski <[email protected]>
Branch: improve-consecutive-dict-lookups
Changeset: r70017:7bef0e7352f9
Date: 2014-03-17 16:51 +0200
http://bitbucket.org/pypy/pypy/changeset/7bef0e7352f9/
Log: maybe fix translation
diff --git a/rpython/jit/metainterp/optimizeopt/heap.py
b/rpython/jit/metainterp/optimizeopt/heap.py
--- a/rpython/jit/metainterp/optimizeopt/heap.py
+++ b/rpython/jit/metainterp/optimizeopt/heap.py
@@ -1,7 +1,7 @@
import os
from rpython.jit.codewriter.effectinfo import EffectInfo
-from rpython.jit.metainterp.optimizeopt.util import args_dict
+from rpython.jit.metainterp.optimizeopt.util import args_dict_value
from rpython.jit.metainterp.history import Const
from rpython.jit.metainterp.jitexc import JitException
from rpython.jit.metainterp.optimizeopt.optimizer import Optimization,
MODE_ARRAY, LEVEL_KNOWNCLASS
@@ -303,7 +303,7 @@
if descr in self.cached_dict_reads:
d = self.cached_dict_reads[descr]
else:
- d = args_dict()
+ d = args_dict_value()
try:
res_v = d[args]
self.make_equal_to(op.result, res_v)
diff --git a/rpython/jit/metainterp/optimizeopt/util.py
b/rpython/jit/metainterp/optimizeopt/util.py
--- a/rpython/jit/metainterp/optimizeopt/util.py
+++ b/rpython/jit/metainterp/optimizeopt/util.py
@@ -92,6 +92,7 @@
# ____________________________________________________________
+def _new_args_dict():
def args_eq(args1, args2):
make_sure_not_resized(args1)
make_sure_not_resized(args2)
@@ -124,6 +125,9 @@
def args_dict_box():
return r_dict(args_eq, args_hash)
+def args_dict_value():
+ return r_dict(args_eq, args_hash)
+
# ____________________________________________________________
diff --git a/rpython/rtyper/lltypesystem/rstr.py
b/rpython/rtyper/lltypesystem/rstr.py
--- a/rpython/rtyper/lltypesystem/rstr.py
+++ b/rpython/rtyper/lltypesystem/rstr.py
@@ -108,7 +108,6 @@
copy_string_to_raw = func_with_new_name(copy_string_to_raw,
'copy_%s_to_raw' % name)
@jit.dont_look_inside
- @enforceargs(None, None, None, int)
def copy_raw_to_string(ptrsrc, dst, dststart, length):
# xxx Warning: same note as above apply: don't do this at home
assert length >= 0
@@ -120,9 +119,10 @@
llmemory.raw_memcopy(srcbuf, dst, llmemory.sizeof(CHAR_TP) * length)
# end of "no GC" section
keepalive_until_here(dst)
- copy_raw_to_string._always_inline_ = True
copy_raw_to_string = func_with_new_name(copy_raw_to_string,
'copy_raw_to_%s' % name)
+ copy_raw_to_string._always_inline_ = True
+ copy_raw_to_string._annenforceargs_ = (None, None, int, int)
return copy_string_to_raw, copy_raw_to_string, copy_string_contents
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit