[pypy-svn] r40820 - in pypy/dist/pypy/translator/llvm: . test
mwh at codespeak.net
mwh at codespeak.net
Tue Mar 20 11:38:22 CET 2007
Author: mwh
Date: Tue Mar 20 11:38:22 2007
New Revision: 40820
Modified:
pypy/dist/pypy/translator/llvm/database.py
pypy/dist/pypy/translator/llvm/test/test_symbolic.py
Log:
add more explicit tests for CDefinedSymbolics in genllvm, redo support for same
and add _we_are_jitted. should fix pypy-llvm builds.
Modified: pypy/dist/pypy/translator/llvm/database.py
==============================================================================
--- pypy/dist/pypy/translator/llvm/database.py (original)
+++ pypy/dist/pypy/translator/llvm/database.py Tue Mar 20 11:38:22 2007
@@ -16,6 +16,7 @@
from pypy.rpython.memory.lladdress import NULL
from pypy.rlib.objectmodel import Symbolic, ComputedIntSymbolic
from pypy.rlib.objectmodel import CDefinedIntSymbolic
+from pypy.rlib import objectmodel
log = log.database
@@ -505,7 +506,12 @@
# force the ComputedIntSymbolic to become a real integer value now
repr = '%d' % value.compute_fn()
elif isinstance(value, CDefinedIntSymbolic):
- repr = CDEFINED_VALUE[value.expr]
+ if value is objectmodel.malloc_zero_filled:
+ repr = '1'
+ elif value is objectmodel._we_are_jitted:
+ repr = '0'
+ else:
+ raise NotImplementedError("CDefinedIntSymbolic: %r" % (value,))
else:
raise NotImplementedError("symbolic: %r" % (value,))
@@ -556,8 +562,3 @@
raise Exception("unsupported offset")
return from_, indices, to
-
-# reprs for specific CDefinedIntSymbolic constants
-CDEFINED_VALUE = {
- 'MALLOC_ZERO_FILLED': '1',
- }
Modified: pypy/dist/pypy/translator/llvm/test/test_symbolic.py
==============================================================================
--- pypy/dist/pypy/translator/llvm/test/test_symbolic.py (original)
+++ pypy/dist/pypy/translator/llvm/test/test_symbolic.py Tue Mar 20 11:38:22 2007
@@ -179,4 +179,19 @@
fn = compile_function(f, [int])
res = fn(5)
assert res == 0
-
+
+def test_we_are_jitted():
+ from pypy.rlib import objectmodel
+ def f():
+ return objectmodel.we_are_jitted()
+ fn = compile_function(f, [])
+ res = fn()
+ assert res == False
+
+def test_malloc_zero_filled():
+ from pypy.rlib import objectmodel
+ def f():
+ return objectmodel.malloc_zero_filled
+ fn = compile_function(f, [])
+ res = fn()
+ assert res in [True, False]
More information about the Pypy-commit
mailing list