[pypy-commit] pypy jitframe-on-heap: ugh, how is this part getting annotated?
fijal
noreply at buildbot.pypy.org
Fri Jan 25 18:50:56 CET 2013
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: jitframe-on-heap
Changeset: r60474:5007b0fbabda
Date: 2013-01-25 19:50 +0200
http://bitbucket.org/pypy/pypy/changeset/5007b0fbabda/
Log: ugh, how is this part getting annotated?
diff --git a/rpython/jit/backend/llsupport/rewrite.py b/rpython/jit/backend/llsupport/rewrite.py
--- a/rpython/jit/backend/llsupport/rewrite.py
+++ b/rpython/jit/backend/llsupport/rewrite.py
@@ -149,8 +149,6 @@
op0 = ResOperation(rop.GETFIELD_GC, [history.ConstPtr(llref)], lgt_box,
descr=descrs.jfi_frame_depth)
self.newops.append(op0)
- # XXX for now it generates call_malloc_gc, instead of
- # call_malloc_nursery, because the array is strange
op1 = ResOperation(rop.NEW_ARRAY, [lgt_box], frame,
descr=descrs.arraydescr)
@@ -168,7 +166,7 @@
assert isinstance(descr, JitCellToken)
jd = descr.outermost_jitdriver_sd
args = [frame]
- if jd.index_of_virtualizable >= 0:
+ if jd and jd.index_of_virtualizable >= 0:
args = [frame, arglist[jd.index_of_virtualizable]]
else:
args = [frame]
@@ -264,6 +262,8 @@
"""Try to generate or update a CALL_MALLOC_NURSERY.
If that fails, generate a plain CALL_MALLOC_GC instead.
"""
+ import pdb
+ pdb.set_trace()
size = self.round_up_for_allocation(size)
if not self.gc_ll_descr.can_use_nursery_malloc(size):
return False
diff --git a/rpython/jit/backend/llsupport/test/test_rewrite.py b/rpython/jit/backend/llsupport/test/test_rewrite.py
--- a/rpython/jit/backend/llsupport/test/test_rewrite.py
+++ b/rpython/jit/backend/llsupport/test/test_rewrite.py
@@ -738,7 +738,7 @@
""", """
[i0, f0]
i1 = getfield_gc(ConstPtr(ll_frame_info), descr=jfi_frame_depth)
- p1 = call_malloc_gc(ConstClass(malloc_array_nonstandard), 1, 2, 0, 0, i1, descr=malloc_array_nonstandard_descr)
+ p1 = call_malloc_nursery(13)
setfield_gc(p1, ConstPtr(ll_frame_info), descr=jf_frame_info)
setarrayitem_gc(p1, 0, i0, descr=signedframedescr)
setarrayitem_gc(p1, 1, f0, descr=floatframedescr)
diff --git a/rpython/jit/backend/x86/assembler.py b/rpython/jit/backend/x86/assembler.py
--- a/rpython/jit/backend/x86/assembler.py
+++ b/rpython/jit/backend/x86/assembler.py
@@ -2213,6 +2213,7 @@
if gcrootmap.is_shadow_stack:
args = []
else:
+ raise NotImplementedError
xxx
assert self.gcrootmap_retaddr_forced == -1, (
"missing mark_gc_roots() in CALL_RELEASE_GIL")
More information about the pypy-commit
mailing list