[pypy-commit] pypy py3.5-async: scatter unroll_safe to more dispatch function that have a loop inside

plan_rich pypy.commits at gmail.com
Thu Aug 11 11:47:03 EDT 2016


Author: Richard Plangger <planrichi at gmail.com>
Branch: py3.5-async
Changeset: r86145:bdc365a69c47
Date: 2016-08-11 17:17 +0200
http://bitbucket.org/pypy/pypy/changeset/bdc365a69c47/

Log:	scatter unroll_safe to more dispatch function that have a loop
	inside

diff --git a/pypy/interpreter/pyopcode.py b/pypy/interpreter/pyopcode.py
--- a/pypy/interpreter/pyopcode.py
+++ b/pypy/interpreter/pyopcode.py
@@ -1343,6 +1343,7 @@
         raise BytecodeCorruption("unknown opcode, ofs=%d, code=%d, name=%s" %
                                  (ofs, ord(c), name) )
 
+    @jit.unroll_safe
     def BUILD_MAP(self, itemcount, next_instr):
         w_dict = self.space.newdict()
         for i in range(itemcount):
@@ -1359,6 +1360,7 @@
             self.space.call_method(w_set, 'add', w_item)
         self.pushvalue(w_set)
 
+    @jit.unroll_safe
     def BUILD_SET_UNPACK(self, itemcount, next_instr):
         space = self.space
         w_sum = space.newset()
@@ -1398,6 +1400,7 @@
         w_sum = self.list_unpack_helper(itemcount)
         self.pushvalue(w_sum)
 
+    @jit.unroll_safe
     def BUILD_MAP_UNPACK_WITH_CALL(self, itemcount, next_instr):
         space = self.space
         num_maps = itemcount & 0xff
@@ -1430,6 +1433,7 @@
             num_maps -= 1
         self.pushvalue(w_dict)
 
+    @jit.unroll_safe
     def BUILD_MAP_UNPACK(self, itemcount, next_instr):
         space = self.space
         w_dict = space.newdict()


More information about the pypy-commit mailing list