[pypy-svn] r67412 - pypy/trunk/pypy/jit/metainterp/test
fijal at codespeak.net
fijal at codespeak.net
Tue Sep 1 18:36:43 CEST 2009
Author: fijal
Date: Tue Sep 1 18:36:42 2009
New Revision: 67412
Modified:
pypy/trunk/pypy/jit/metainterp/test/oparser.py
pypy/trunk/pypy/jit/metainterp/test/test_oparser.py
Log:
A test and support for embedding strings (lltype only since ootype has no tests)
Modified: pypy/trunk/pypy/jit/metainterp/test/oparser.py
==============================================================================
--- pypy/trunk/pypy/jit/metainterp/test/oparser.py (original)
+++ pypy/trunk/pypy/jit/metainterp/test/oparser.py Tue Sep 1 18:36:42 2009
@@ -9,6 +9,7 @@
from pypy.jit.metainterp.typesystem import llhelper
from pypy.rpython.lltypesystem import lltype, llmemory
from pypy.rpython.ootypesystem import ootype
+from pypy.rpython.annlowlevel import llstr
_cache = {}
_default_namespace = {'lltype': {}, 'ootype': {}}
@@ -99,6 +100,11 @@
try:
return ConstInt(int(arg))
except ValueError:
+ if arg.startswith('"') or arg.startswith("'"):
+ # XXX ootype
+ info = arg.strip("'\"")
+ return ConstPtr(lltype.cast_opaque_ptr(llmemory.GCREF,
+ llstr(info)))
if arg.startswith('ConstClass('):
name = arg[len('ConstClass('):-1]
if self.type_system == 'lltype':
Modified: pypy/trunk/pypy/jit/metainterp/test/test_oparser.py
==============================================================================
--- pypy/trunk/pypy/jit/metainterp/test/test_oparser.py (original)
+++ pypy/trunk/pypy/jit/metainterp/test/test_oparser.py Tue Sep 1 18:36:42 2009
@@ -140,3 +140,12 @@
loop = parse(x, jump_targets=[obj, 'self'])
assert loop.operations[-1].jump_target is loop
assert loop.operations[0].suboperations[0].jump_target is obj
+
+def test_debug_merge_point():
+ x = '''
+ []
+ debug_merge_point("info")
+ debug_merge_point('info')
+ '''
+ loop = parse(x)
+ assert loop.operations[0].args[0]._get_str() == 'info'
More information about the Pypy-commit
mailing list