Author: Maciej Fijalkowski <[email protected]>
Branch: jitframe-on-heap
Changeset: r60395:08749a4312fb
Date: 2013-01-23 22:16 +0200
http://bitbucket.org/pypy/pypy/changeset/08749a4312fb/
Log: add some info
diff --git a/rpython/jit/backend/llsupport/jitframe.py
b/rpython/jit/backend/llsupport/jitframe.py
--- a/rpython/jit/backend/llsupport/jitframe.py
+++ b/rpython/jit/backend/llsupport/jitframe.py
@@ -47,6 +47,7 @@
# guard_not_forced descr
('jf_force_descr', llmemory.GCREF),
# a map of GC pointers
+ ('jf_comingfrom', llmemory.GCREF),
('jf_gcmap', lltype.Ptr(GCMAP)),
# For the front-end: a GCREF for the savedata
('jf_savedata', llmemory.GCREF),
diff --git a/rpython/jit/backend/llsupport/llmodel.py
b/rpython/jit/backend/llsupport/llmodel.py
--- a/rpython/jit/backend/llsupport/llmodel.py
+++ b/rpython/jit/backend/llsupport/llmodel.py
@@ -58,7 +58,9 @@
def realloc_frame(frame, size, asm):
frame = lltype.cast_opaque_ptr(jitframe.JITFRAMEPTR, frame)
- assert frame.jf_frame_info.jfi_frame_depth >= size
+ if not frame.jf_frame_info.jfi_frame_depth >= size:
+ import pdb
+ pdb.set_trace()
print "realloc frame (%d) %d->%d" % (size, len(frame.jf_frame),
frame.jf_frame_info.jfi_frame_depth)
print "from %x" % asm
new_frame = jitframe.JITFRAME.allocate(frame.jf_frame_info)
diff --git a/rpython/jit/backend/x86/runner.py
b/rpython/jit/backend/x86/runner.py
--- a/rpython/jit/backend/x86/runner.py
+++ b/rpython/jit/backend/x86/runner.py
@@ -119,6 +119,10 @@
#llop.debug_print(lltype.Void, ">>>> Entering", addr)
frame_info = clt.frame_info
frame = jitframe.JITFRAME.allocate(frame_info)
+
+ from rpython.rtyper.annlowlevel import cast_instance_to_gcref
+
+ frame.jf_comingfrom = cast_instance_to_gcref(executable_token)
ll_frame = lltype.cast_opaque_ptr(llmemory.GCREF, frame)
prev_interpreter = None # help flow space
if not self.translate_support_code:
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit