[pypy-svn] r62011 - pypy/branch/oo-jit/pypy/jit/tl
antocuni at codespeak.net
antocuni at codespeak.net
Wed Feb 18 16:34:43 CET 2009
Author: antocuni
Date: Wed Feb 18 16:34:43 2009
New Revision: 62011
Modified:
pypy/branch/oo-jit/pypy/jit/tl/tlc.py
Log:
(in-progress) try to get rid of framestack&co, because the merging logic seems
not to like them. Maybe this checkin will be reverted
Modified: pypy/branch/oo-jit/pypy/jit/tl/tlc.py
==============================================================================
--- pypy/branch/oo-jit/pypy/jit/tl/tlc.py (original)
+++ pypy/branch/oo-jit/pypy/jit/tl/tlc.py Wed Feb 18 16:34:43 2009
@@ -266,6 +266,10 @@
code_len = len(code)
pool = hint(hint(pool2, concrete=True), deepfreeze=True)
stack = []
+ pc_stack = []
+ args_stack = []
+ stack_stack = []
+
framestack = FrameStack()
while pc < code_len:
@@ -410,14 +414,19 @@
stack = []
elif opcode == RETURN:
- if framestack.isempty():
+ #if framestack.isempty():
+ if len(pc_stack) == 0:
break
if stack:
res = stack.pop()
else:
res = None
- pc2, args, stack = framestack.pop()
- pc = hint(pc2, promote=True)
+ #pc2, args, stack = framestack.pop()
+ #pc = hint(pc2, promote=True)
+ pc3 = pc_stack.pop()
+ pc = hint(pc3, promote=True)
+ args = args_stack.pop()
+ stack = stack_stack.pop()
if res:
stack.append(res)
@@ -486,7 +495,10 @@
num_args -= 1
call_args[num_args] = stack.pop()
hint(num_args, concrete=True)
- framestack.push(pc, args, stack)
+ #framestack.push(pc, args, stack)
+ pc_stack.append(pc)
+ args_stack.append(args)
+ stack_stack.append(stack)
pc = pc + offset - 1
args = call_args
stack = []
More information about the Pypy-commit
mailing list