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

Reply via email to