[pypy-commit] pypy framestate: almost kill JUMP_XXX.bc_flow()

rlamy noreply at buildbot.pypy.org
Mon Nov 24 17:30:19 CET 2014


Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: framestate
Changeset: r74705:48d5421e14d0
Date: 2014-11-24 02:55 +0000
http://bitbucket.org/pypy/pypy/changeset/48d5421e14d0/

Log:	almost kill JUMP_XXX.bc_flow()

diff --git a/rpython/flowspace/bytecode.py b/rpython/flowspace/bytecode.py
--- a/rpython/flowspace/bytecode.py
+++ b/rpython/flowspace/bytecode.py
@@ -398,32 +398,30 @@
 
 @flow_opcode
 def JUMP_ABSOLUTE(self, reader):
-    block = reader.curr_block
-    graph = reader.graph
-    target_block = reader.get_block_at(self.arg)
-    graph.add_jump(block, target_block, self.arg)
+    reader.graph._next_pos[self.offset] = self.arg
 
 def prepare(self, reader):
     block = reader.curr_block
+    graph = reader.graph
     block.operations.append(self)
     new_block = reader.new_block()
     reader.enter_next_block(new_block)
-    reader.get_block_at(self.arg)
+    target_block = reader.get_block_at(self.arg)
+    graph.add_jump(block, target_block, self.arg)
 JUMP_ABSOLUTE.prepare_flow = prepare
 
 @flow_opcode
 def JUMP_FORWARD(self, reader):
-    block = reader.curr_block
-    graph = reader.graph
-    target_block = reader.get_block_at(self.arg)
-    graph.add_jump(block, target_block, self.arg)
+    reader.graph._next_pos[self.offset] = self.arg
 
 def prepare(self, reader):
     block = reader.curr_block
+    graph = reader.graph
     block.operations.append(self)
     new_block = reader.new_block()
     reader.enter_next_block(new_block)
-    reader.get_block_at(self.arg)
+    target_block = reader.get_block_at(self.arg)
+    graph.add_jump(block, target_block, self.arg)
 JUMP_FORWARD.prepare_flow = prepare
 
 @bc_reader.register_opcode


More information about the pypy-commit mailing list