Index: utils/opt-viewer/opt-viewer.py =================================================================== --- utils/opt-viewer/opt-viewer.py +++ utils/opt-viewer/opt-viewer.py @@ -59,6 +59,7 @@ class Remark(yaml.YAMLObject): # Work-around for http://pyyaml.org/ticket/154. yaml_loader = Loader + ABBREV_LENGTH_LIMIT = 70 def __getattr__(self, name): # If hotness is missing, assume 0 @@ -83,6 +84,15 @@ return "{}:{}:{}".format(self.File, self.Line, self.Column) @property + def AbbreviatedFunctionName(self): + demangled = self.DemangledFunctionName + if len(demangled) > Remark.ABBREV_LENGTH_LIMIT: + return '...' + demangled[-Remark.ABBREV_LENGTH_LIMIT:] + + return demangled + + + @property def DemangledFunctionName(self): return demangle(self.Function) @@ -197,12 +207,13 @@ '''.format(**locals()), file=self.stream) def render_inline_remarks(self, r, line): - inlining_context = r.DemangledFunctionName + func_name = '
{r.AbbreviatedFunctionName}{r.DemangledFunctionName}
'.format(**locals()) + inlining_context = func_name print dl = context.caller_loc.get(r.Function) if dl: link = Remark.make_link(dl['File'], dl['Line'] - 2) - inlining_context = "{r.DemangledFunctionName}".format(**locals()) + inlining_context = "{func_name}".format(**locals()) # Column is the number of characters *including* tabs, keep those and # replace everything else with spaces. @@ -256,12 +267,13 @@ self.stream = open(os.path.join(output_dir, 'index.html'), 'w') def render_entry(self, r, odd): - escaped_name = cgi.escape(r.DemangledFunctionName) + escaped_abbrev_name = cgi.escape(r.AbbreviatedFunctionName) + escaped_full_name = cgi.escape(r.DemangledFunctionName) print(''' {r.DebugLocString} {r.RelativeHotness} -{escaped_name} +
{escaped_abbrev_name}{escaped_full_name}
{r.Pass} '''.format(**locals()), file=self.stream) Index: utils/opt-viewer/style.css =================================================================== --- utils/opt-viewer/style.css +++ utils/opt-viewer/style.css @@ -88,11 +88,9 @@ } .tooltip span.tooltip-content { position: absolute; - width: 100px; margin-left: -50px; color: #FFFFFF; background: #000000; - height: 30px; line-height: 30px; text-align: center; visibility: hidden;