[Webkit-unassigned] [Bug 65830] DFG JIT verbose mode does not report the generated types of nodes
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sun Aug 7 22:37:54 PDT 2011
https://bugs.webkit.org/show_bug.cgi?id=65830
--- Comment #4 from Filip Pizlo <fpizlo at apple.com> 2011-08-07 22:37:54 PST ---
(In reply to comment #3)
> (From update of attachment 103187 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=103187&action=review
>
> > Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:1300
> > if (!m_compileOkay)
> > return;
> > +#if DFG_DEBUG_VERBOSE
> > + if (node.hasResult())
> > + fprintf(stderr, "-> %s\n", dataFormatToString(m_generationInfo[node.virtualRegister()].registerFormat()));
> > + else
> > + fprintf(stderr, "\n");
> > +#endif
>
> It seems like this might give output without a newline in the case that the compile fails.
Actually it just changes the format of the output when speculation fails. Previously it would have printed:
SpeculativeJIT generating Node @150 at JIT offset 0x73e
SpeculativeJIT generating Node @151 at JIT offset 0x742
SpeculativeJIT generating Node @152 at JIT offset 0x742
SpeculativeJIT generating Node @156 at JIT offset 0x74b
SpeculativeJIT generating Node @159 at JIT offset 0x74f
SpeculativeJIT generating Node @160 at JIT offset 0x753
SpeculativeJIT generating Node @162 at JIT offset 0x7c0
SpeculativeJIT generating Node @164 at JIT offset 0x7e6
SpeculativeJIT generating Node @165 at JIT offset 0x7e6
SpeculativeJIT generating Node @167 at JIT offset 0x7f9
SpeculativeJIT generating Node @169 at JIT offset 0x86f
SpeculativeJIT generating Node @170 at JIT offset 0x873
SpeculativeJIT was terminated.
NonSpeculativeJIT generating Node @8 at code offset 0x2d
NonSpeculativeJIT generating Node @9 at code offset 0x31
NonSpeculativeJIT generating Node @10 at code offset 0x5e
Now it'll print:
SpeculativeJIT generating Node @150 at JIT offset 0x73e -> Integer
SpeculativeJIT generating Node @151 at JIT offset 0x742 -> None
SpeculativeJIT generating Node @152 at JIT offset 0x742 -> None
SpeculativeJIT generating Node @156 at JIT offset 0x74b -> JSCell
SpeculativeJIT generating Node @159 at JIT offset 0x74f -> JS
SpeculativeJIT generating Node @160 at JIT offset 0x753 -> JS
SpeculativeJIT generating Node @162 at JIT offset 0x7c0 -> Double
SpeculativeJIT generating Node @164 at JIT offset 0x7e6 -> None
SpeculativeJIT generating Node @165 at JIT offset 0x7e6 -> Double
SpeculativeJIT generating Node @167 at JIT offset 0x7f9
SpeculativeJIT generating Node @169 at JIT offset 0x86f -> Integer
SpeculativeJIT generating Node @170 at JIT offset 0x873 SpeculativeJIT was terminated.
NonSpeculativeJIT generating Node @8 at code offset 0x2d -> JS
NonSpeculativeJIT generating Node @9 at code offset 0x31 -> Cell
NonSpeculativeJIT generating Node @10 at code offset 0x5e
If anyone feels strongly about having "SpeculativeJIT was terminated" printed after a newline after the line that reports the node on which the speculation fails, then I can certainly make that change! But I left it this way because to me, this actually kind of looks better. It implements the invariant that verbose mode prints one line per node, per JIT backend, and this one line contains all the info you want (the node number, the machine code offset, the result if there is one, and whether or not speculation terminated).
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list