On 2/6/14 5:34 AM, Nicolas B. Pierron wrote:
I do not think we would have much value as dumping the assembly of
Baseline, especially ICs might be harder. On the other hand, I think it
would be easy to dump ICs chains as part of the PC Count interface.
So here are some specific things I've wanted to know about our JIT
recently that I couldn't get out of JIT Inspector:
1) Which code got baseline compiled? Yes, the theory is "all of it",
but that theory falls down in our "JIT is disabled by default" world.
2) What does the assembly look like for Baseline?
3) What does the assembly look like for an Ion IC? Right now I only
get to see the inline code, which just has a jump to the IC.
4) Which code got ion compiled? You can more or less get this from
"Ion Activity".
5) Better matching up of assembly to source lines. Right now what I
get is the assembly for an entire basic block at once.
6) Why code didn't get ion compiled. (No point asking this about
baseline; if code wasn't baseline compiled, the JIT was just off.)
7) Information about typesets in some sort of human-readable form, and
especially why they might be getting deoptimized to "any object" or whatnot.
Some of these (#1, #4, #6, maybe #7) would fit well in devtools in general.
I'm not sure how wide the audience is for the assembly bits and hence
whether they should be in devtools long-term...
I _do_ want to see the baseline assembly, in general, because that helps
me understand which things are taking stubcalls vs doing something
inline or whatnot. Of course we could just expose that directly.
-Boris
_______________________________________________
dev-tech-js-engine-internals mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals