[pypy-svn] r34878 - pypy/dist/pypy/jit/tl
pedronis at codespeak.net
pedronis at codespeak.net
Wed Nov 22 20:06:26 CET 2006
Author: pedronis
Date: Wed Nov 22 20:06:25 2006
New Revision: 34878
Modified:
pypy/dist/pypy/jit/tl/tlc.py
Log:
(arre, pedronis)
started experimenting with adding some promotes in the tlc: tests still pass and promotions occurs
but we force virtual int boxes too often, we need to investigate that...
Modified: pypy/dist/pypy/jit/tl/tlc.py
==============================================================================
--- pypy/dist/pypy/jit/tl/tlc.py (original)
+++ pypy/dist/pypy/jit/tl/tlc.py Wed Nov 22 20:06:25 2006
@@ -184,10 +184,14 @@
elif opcode == SUB:
a, b = stack.pop(), stack.pop()
+ hint(a.__class__, promote=True)
+ hint(b.__class__, promote=True)
stack.append(b.sub(a))
elif opcode == MUL:
a, b = stack.pop(), stack.pop()
+ hint(a.__class__, promote=True)
+ hint(b.__class__, promote=True)
stack.append(b.mul(a))
elif opcode == DIV:
@@ -208,6 +212,8 @@
elif opcode == LE:
a, b = stack.pop(), stack.pop()
+ hint(a.__class__, promote=True)
+ hint(b.__class__, promote=True)
stack.append(IntObj(not a.lt(b)))
elif opcode == GT:
@@ -219,7 +225,9 @@
stack.append(IntObj(not b.lt(a)))
elif opcode == BR_COND:
- if stack.pop().t():
+ cond = stack.pop()
+ hint(cond, promote=True)
+ if cond.t():
pc += char2int(code[pc])
pc += 1
More information about the Pypy-commit
mailing list