[pypy-svn] pypy 32ptr-on-64bit: Add support for 'H' in pyjitpl too.
arigo
commits-noreply at bitbucket.org
Sat Apr 16 23:10:18 CEST 2011
Author: Armin Rigo <arigo at tunes.org>
Branch: 32ptr-on-64bit
Changeset: r43413:2e27a9ff5b61
Date: 2011-04-16 22:59 +0200
http://bitbucket.org/pypy/pypy/changeset/2e27a9ff5b61/
Log: Add support for 'H' in pyjitpl too.
diff --git a/pypy/jit/metainterp/history.py b/pypy/jit/metainterp/history.py
--- a/pypy/jit/metainterp/history.py
+++ b/pypy/jit/metainterp/history.py
@@ -138,6 +138,7 @@
def get_arg_types(self):
""" Implement in call descr.
Must return a string of INT, REF and FLOAT ('i', 'r', 'f').
+ Can also contain 'L' or 'H'; see get_return_type().
"""
raise NotImplementedError
@@ -145,6 +146,7 @@
""" Implement in call descr.
Must return INT, REF, FLOAT, or 'v' for void.
On 32-bit (hack) it can also be 'L' for longlongs.
+ On 64-bit (hack) it can also be 'H' for HiddenGcRef32.
"""
raise NotImplementedError
diff --git a/pypy/jit/metainterp/executor.py b/pypy/jit/metainterp/executor.py
--- a/pypy/jit/metainterp/executor.py
+++ b/pypy/jit/metainterp/executor.py
@@ -56,7 +56,7 @@
metainterp.execute_raised(e)
result = 0
return BoxInt(result)
- if rettype == REF:
+ if rettype == REF or rettype == 'H':
try:
result = cpu.bh_call_r(func, descr, args_i, args_r, args_f)
except Exception, e:
diff --git a/pypy/jit/metainterp/pyjitpl.py b/pypy/jit/metainterp/pyjitpl.py
--- a/pypy/jit/metainterp/pyjitpl.py
+++ b/pypy/jit/metainterp/pyjitpl.py
@@ -1157,7 +1157,7 @@
src_i += 1
if box.type == history.INT:
break
- elif kind == history.REF:
+ elif kind == history.REF or kind == 'H': # HiddenGcRef32
while True:
box = argboxes[src_r]
src_r += 1
More information about the Pypy-commit
mailing list