[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