[pypy-commit] pypy exp-with-blackhole: try to dump info
fijal
noreply at buildbot.pypy.org
Sat May 23 11:34:45 CEST 2015
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: exp-with-blackhole
Changeset: r77500:65e2372df15d
Date: 2015-05-18 13:37 +0200
http://bitbucket.org/pypy/pypy/changeset/65e2372df15d/
Log: try to dump info
diff --git a/rpython/jit/metainterp/resume.py b/rpython/jit/metainterp/resume.py
--- a/rpython/jit/metainterp/resume.py
+++ b/rpython/jit/metainterp/resume.py
@@ -387,8 +387,25 @@
self._add_pending_fields(pending_setfields)
storage.rd_consts = self.memo.consts
+ self.dump(storage)
return liveboxes[:]
+ def dump(self, storage):
+ debug_start("jit-resume")
+ f = storage.rd_frame_info_list
+ while f:
+ debug_print("frame:", f.jitcode.name, f.pc)
+ f = f.prev
+ debug_print("no of consts:", len(storage.rd_consts))
+ n = storage.rd_numb
+ while n:
+ debug_print("nums:", " ".join([str(i) for i in n.nums]))
+ n = n.prev
+ if storage.rd_virtuals:
+ for v in storage.rd_virtuals:
+ v.dump()
+ debug_stop('jit-resume')
+
def _number_virtuals(self, liveboxes, optimizer, num_env_virtuals):
# !! 'liveboxes' is a list that is extend()ed in-place !!
memo = self.memo
@@ -496,6 +513,9 @@
def debug_prints(self):
raise NotImplementedError
+ def dump(self):
+ pass
+
class AbstractVirtualStructInfo(AbstractVirtualInfo):
def __init__(self, fielddescrs):
@@ -516,6 +536,12 @@
str(self.fielddescrs[i]),
str(untag(self.fieldnums[i])))
+ def dump(self):
+ for i in range(len(self.fielddescrs)):
+ debug_print("\t\t",
+ self.fielddescrs[i].repr_of_descr(),
+ self.fieldnums[i])
+
class VirtualInfo(AbstractVirtualStructInfo):
def __init__(self, known_class, fielddescrs):
AbstractVirtualStructInfo.__init__(self, fielddescrs)
@@ -531,6 +557,10 @@
debug_print("\tvirtualinfo", self.known_class.repr_rpython(), " at ", compute_unique_id(self))
AbstractVirtualStructInfo.debug_prints(self)
+ def dump(self):
+ debug_print("\tvirtualinfo")
+ AbstractVirtualStructInfo.dump(self)
+
class VStructInfo(AbstractVirtualStructInfo):
def __init__(self, typedescr, fielddescrs):
@@ -547,6 +577,10 @@
debug_print("\tvstructinfo", self.typedescr.repr_rpython(), " at ", compute_unique_id(self))
AbstractVirtualStructInfo.debug_prints(self)
+ def dump(self):
+ debug_print("\tvstructinfo")
+ AbstractVirtualStructInfo.dump(self)
+
class AbstractVArrayInfo(AbstractVirtualInfo):
def __init__(self, arraydescr):
self.arraydescr = arraydescr
@@ -582,6 +616,12 @@
for i in self.fieldnums:
debug_print("\t\t", str(untag(i)))
+ def dump(self):
+ debug_print("\tvarrayinfo", self.arraydescr.repr_of_descr(),
+ " clear=", self.clear)
+ for i in self.fieldnums:
+ debug_print("\t\t", i)
+
class VArrayInfoClear(AbstractVArrayInfo):
clear = True
@@ -618,6 +658,11 @@
for i in self.fieldnums:
debug_print("\t\t", str(untag(i)))
+ def dump(self):
+ debug_print("\tvrawbufferinfo")
+ for i in self.fieldnums:
+ debug_print("\t\t", i)
+
class VRawSliceInfo(VAbstractRawInfo):
@@ -637,6 +682,11 @@
for i in self.fieldnums:
debug_print("\t\t", str(untag(i)))
+ def dump(self):
+ debug_print("\tvrawsliceinfo", self.offset)
+ for i in self.fieldnums:
+ debug_print("\t\t", i)
+
class VArrayStructInfo(AbstractVirtualInfo):
def __init__(self, arraydescr, fielddescrs):
@@ -648,6 +698,11 @@
for i in self.fieldnums:
debug_print("\t\t", str(untag(i)))
+ def dump(self):
+ debug_print("\tvarraystructinfo", self.arraydescr.repr_of_descr())
+ for i in self.fieldnums:
+ debug_print("\t\t", i)
+
@specialize.argtype(1)
def allocate(self, decoder, index):
array = decoder.allocate_array(len(self.fielddescrs), self.arraydescr,
@@ -679,6 +734,9 @@
def debug_prints(self):
debug_print("\tvstrplaininfo length", len(self.fieldnums), " at ", compute_unique_id(self))
+ def dump(self):
+ debug_print("\tvstrplaininfo length", len(self.fieldnums))
+
class VStrConcatInfo(AbstractVirtualInfo):
"""Stands for the string made out of the concatenation of two
@@ -699,6 +757,9 @@
for i in self.fieldnums:
debug_print("\t\t", str(untag(i)))
+ def dump(self):
+ debug_print("\tvstrconcatinfo")
+
class VStrSliceInfo(AbstractVirtualInfo):
"""Stands for the string made out of slicing another string."""
@@ -715,6 +776,9 @@
for i in self.fieldnums:
debug_print("\t\t", str(untag(i)))
+ def dump(self):
+ debug_print("\tvstrsliceinfo")
+
class VUniPlainInfo(AbstractVirtualInfo):
"""Stands for the unicode string made out of the characters of all
@@ -734,6 +798,9 @@
def debug_prints(self):
debug_print("\tvuniplaininfo length", len(self.fieldnums), " at ", compute_unique_id(self))
+ def dump(self):
+ debug_print("\tvuniplaininfo length", len(self.fieldnums))
+
class VUniConcatInfo(AbstractVirtualInfo):
"""Stands for the unicode string made out of the concatenation of two
@@ -754,6 +821,9 @@
for i in self.fieldnums:
debug_print("\t\t", str(untag(i)))
+ def dump(self):
+ debug_print("\tvuniconcatinfo")
+
class VUniSliceInfo(AbstractVirtualInfo):
"""Stands for the unicode string made out of slicing another
@@ -771,6 +841,9 @@
for i in self.fieldnums:
debug_print("\t\t", str(untag(i)))
+ def dump(self):
+ debug_print("\tvunisliceinfo")
+
# ____________________________________________________________
class AbstractVirtualCache(object):
More information about the pypy-commit
mailing list