On 02/06/2014 06:15 AM, Boris Zbarsky wrote:
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:

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.

Currently, we address these issues by using the assembly spewer to generate some strings that we would keep around. This cause multiple problem with ICs, as we would need to instrument the PC Count API to reflect and record all IC compilations.

I do not think we need to keep these strings around, as we could just give a read-only view of the executable code and disassemble it in JavaScript. This way we would not have to save tons of strings, and we could also display ICs.

In addition, we will only keep track of meta-data such as the offset of LIR instructions in the assembly buffer, which is lighter than all strings, and we could see code changes when it is mutated (barriers / ICs / …)

Currently, the online disassembler[1] offer a view of the assembly but we could also do it by using the disassembler of another program and cross-compile it as a JS library.

[1] http://onlinedisassembler.com/odaweb/

--
Nicolas B. Pierron

_______________________________________________
dev-tech-js-engine-internals mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

Reply via email to