[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