[pypy-svn] r40585 - in pypy/branch/jit-virtual-world/pypy/translator/c: . test
ac at codespeak.net
ac at codespeak.net
Fri Mar 16 15:32:35 CET 2007
Author: ac
Date: Fri Mar 16 15:32:33 2007
New Revision: 40585
Modified:
pypy/branch/jit-virtual-world/pypy/translator/c/funcgen.py
pypy/branch/jit-virtual-world/pypy/translator/c/test/test_symbolic.py
Log:
Support is_early_constant operasion in C backend.
Modified: pypy/branch/jit-virtual-world/pypy/translator/c/funcgen.py
==============================================================================
--- pypy/branch/jit-virtual-world/pypy/translator/c/funcgen.py (original)
+++ pypy/branch/jit-virtual-world/pypy/translator/c/funcgen.py Fri Mar 16 15:32:33 2007
@@ -743,5 +743,7 @@
counter_label = self.expr(op.args[1])
return 'INSTRUMENT_COUNT(%s);' % counter_label
-
+ def OP_IS_EARLY_CONSTANT(self, op):
+ return self.expr(op.result) + ' = 0;' # Allways false
+
assert not USESLOTS or '__dict__' not in dir(FunctionCodeGenerator)
Modified: pypy/branch/jit-virtual-world/pypy/translator/c/test/test_symbolic.py
==============================================================================
--- pypy/branch/jit-virtual-world/pypy/translator/c/test/test_symbolic.py (original)
+++ pypy/branch/jit-virtual-world/pypy/translator/c/test/test_symbolic.py Fri Mar 16 15:32:33 2007
@@ -110,3 +110,16 @@
fn = t.compile_c()
res = fn()
assert res == 42
+
+def test_is_early_constant():
+ from pypy.rlib import objectmodel
+ def f(x):
+ if objectmodel._is_early_constant(x):
+ return 42
+ return 0
+
+
+ fn, t = getcompiled(f, [int])
+ res = fn(5)
+ assert res == 0
+
More information about the pypy-svn
mailing list