[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