[pypy-commit] pypy default: Always load symbols from the executable, but just print an error and

arigo noreply at buildbot.pypy.org
Mon Aug 12 19:25:10 CEST 2013


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r66094:783e5f660b9c
Date: 2013-08-12 19:19 +0200
http://bitbucket.org/pypy/pypy/changeset/783e5f660b9c/

Log:	Always load symbols from the executable, but just print an error and
	continue if that fails.

diff --git a/pypy/tool/jitlogparser/parser.py b/pypy/tool/jitlogparser/parser.py
--- a/pypy/tool/jitlogparser/parser.py
+++ b/pypy/tool/jitlogparser/parser.py
@@ -382,8 +382,7 @@
     from rpython.jit.backend.tool.viewcode import World
     world = World()
     for entry in extract_category(log, 'jit-backend-dump'):
-        world.parse(entry.splitlines(True), load_symbols=False,
-                    truncate_addr=False)
+        world.parse(entry.splitlines(True), truncate_addr=False)
     dumps = {}
     for r in world.ranges:
         if r.addr in addrs and addrs[r.addr]:
diff --git a/rpython/jit/backend/tool/viewcode.py b/rpython/jit/backend/tool/viewcode.py
--- a/rpython/jit/backend/tool/viewcode.py
+++ b/rpython/jit/backend/tool/viewcode.py
@@ -240,7 +240,7 @@
         self.backend_name = None
         self.executable_name = None
 
-    def parse(self, f, textonly=True, load_symbols=True, truncate_addr=True):
+    def parse(self, f, textonly=True, truncate_addr=True):
         for line in f:
             if line.startswith('BACKEND '):
                 self.backend_name = line.split(' ')[1].strip()
@@ -281,11 +281,12 @@
                 addr = baseaddr + offset
                 self.logentries[addr] = pieces[3]
             elif line.startswith('SYS_EXECUTABLE '):
-                if not load_symbols:
-                    continue
                 filename = line[len('SYS_EXECUTABLE '):].strip()
                 if filename != self.executable_name and filename != '??':
-                    self.symbols.update(load_symbols(filename))
+                    try:
+                        self.symbols.update(load_symbols(filename))
+                    except Exception as e:
+                        print e
                     self.executable_name = filename
 
     def find_cross_references(self):


More information about the pypy-commit mailing list