Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(51)

Unified Diff: tools/grokdump.py

Issue 1027463002: Revert "Merge old data and pointer space." (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « test/cctest/test-weaksets.cc ('k') | tools/oom_dump/oom_dump.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/grokdump.py
diff --git a/tools/grokdump.py b/tools/grokdump.py
index 44f294d03db3f6084ca44e946fb1855a7a9e4e84..8986a91b5c318302c0f8ee8601d8919df675d9d6 100755
--- a/tools/grokdump.py
+++ b/tools/grokdump.py
@@ -1621,7 +1621,7 @@ class KnownMap(HeapObject):
COMMENT_RE = re.compile(r"^C (0x[0-9a-fA-F]+) (.*)$")
PAGEADDRESS_RE = re.compile(
- r"^P (mappage|oldpage) (0x[0-9a-fA-F]+)$")
+ r"^P (mappage|pointerpage|datapage) (0x[0-9a-fA-F]+)$")
class InspectionInfo(object):
@@ -1698,7 +1698,8 @@ class InspectionPadawan(object):
self.reader = reader
self.heap = heap
self.known_first_map_page = 0
- self.known_first_old_page = 0
+ self.known_first_data_page = 0
+ self.known_first_pointer_page = 0
def __getattr__(self, name):
"""An InspectionPadawan can be used instead of V8Heap, even though
@@ -1714,11 +1715,13 @@ class InspectionPadawan(object):
def IsInKnownOldSpace(self, tagged_address):
page_address = tagged_address & ~self.heap.PageAlignmentMask()
- return page_address == self.known_first_old_page
+ return page_address in [self.known_first_data_page,
+ self.known_first_pointer_page]
def ContainingKnownOldSpaceName(self, tagged_address):
page_address = tagged_address & ~self.heap.PageAlignmentMask()
- if page_address == self.known_first_old_page: return "OLD_SPACE"
+ if page_address == self.known_first_data_page: return "OLD_DATA_SPACE"
+ if page_address == self.known_first_pointer_page: return "OLD_POINTER_SPACE"
return None
def SenseObject(self, tagged_address):
@@ -1775,9 +1778,11 @@ class InspectionPadawan(object):
def PrintKnowledge(self):
print " known_first_map_page = %s\n"\
- " known_first_old_page = %s" % (
+ " known_first_data_page = %s\n"\
+ " known_first_pointer_page = %s" % (
self.reader.FormatIntPtr(self.known_first_map_page),
- self.reader.FormatIntPtr(self.known_first_old_page))
+ self.reader.FormatIntPtr(self.known_first_data_page),
+ self.reader.FormatIntPtr(self.known_first_pointer_page))
WEB_HEADER = """
<!DOCTYPE html>
@@ -2119,10 +2124,12 @@ class InspectionWebFormatter(object):
self.padawan = InspectionPadawan(self.reader, self.heap)
self.comments = InspectionInfo(minidump_name, self.reader)
- self.padawan.known_first_old_page = (
- self.comments.get_page_address("oldpage"))
+ self.padawan.known_first_data_page = (
+ self.comments.get_page_address("datapage"))
self.padawan.known_first_map_page = (
self.comments.get_page_address("mappage"))
+ self.padawan.known_first_pointer_page = (
+ self.comments.get_page_address("pointerpage"))
def set_comment(self, straddress, comment):
try:
@@ -2134,10 +2141,12 @@ class InspectionWebFormatter(object):
def set_page_address(self, kind, straddress):
try:
address = int(straddress, 0)
- if kind == "oldpage":
- self.padawan.known_first_old_page = address
+ if kind == "datapage":
+ self.padawan.known_first_data_page = address
elif kind == "mappage":
self.padawan.known_first_map_page = address
+ elif kind == "pointerpage":
+ self.padawan.known_first_pointer_page = address
self.comments.save_page_address(kind, address)
except ValueError:
print "Invalid address"
@@ -2608,10 +2617,13 @@ class InspectionWebFormatter(object):
page_address = address & ~self.heap.PageAlignmentMask()
f.write("Page info: \n")
- self.output_page_info(f, "old", self.padawan.known_first_old_page, \
+ self.output_page_info(f, "data", self.padawan.known_first_data_page, \
page_address)
self.output_page_info(f, "map", self.padawan.known_first_map_page, \
page_address)
+ self.output_page_info(f, "pointer", \
+ self.padawan.known_first_pointer_page, \
+ page_address)
if not self.reader.IsValidAddress(address):
f.write("<h3>The contents at address %s not found in the dump.</h3>" % \
@@ -2913,14 +2925,14 @@ class InspectionShell(cmd.Cmd):
"""
self.padawan.PrintKnowledge()
- def do_ko(self, address):
+ def do_kd(self, address):
"""
Teach V8 heap layout information to the inspector. Set the first
- old space page by passing any pointer into that page.
+ data-space page by passing any pointer into that page.
"""
address = int(address, 16)
page_address = address & ~self.heap.PageAlignmentMask()
- self.padawan.known_first_old_page = page_address
+ self.padawan.known_first_data_page = page_address
def do_km(self, address):
"""
@@ -2931,6 +2943,15 @@ class InspectionShell(cmd.Cmd):
page_address = address & ~self.heap.PageAlignmentMask()
self.padawan.known_first_map_page = page_address
+ def do_kp(self, address):
+ """
+ Teach V8 heap layout information to the inspector. Set the first
+ pointer-space page by passing any pointer into that page.
+ """
+ address = int(address, 16)
+ page_address = address & ~self.heap.PageAlignmentMask()
+ self.padawan.known_first_pointer_page = page_address
+
def do_list(self, smth):
"""
List all available memory regions.
« no previous file with comments | « test/cctest/test-weaksets.cc ('k') | tools/oom_dump/oom_dump.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698