On 6/9/14 1:41 AM, Julian Seward wrote:
On 06/09/2014 06:27 AM, Cameron Kaiser wrote:
[side observation]
VM call looks like this; note there is no simple way to push the instruction
pointer other than making a tiny local branch to set the link register:
Won't that trash the return-address predictor? Is it possible instead to
generate a 2 insn sequence (iirc: li ; addis) to synthesise the value
directly?
No, a "bl .+4" is actually the recommended way to get it. In fact, I'm
already synthesizing a return address based on the current PC; I just
don't know what the PC is, so I have to do the local branch. See, e.g.,
https://lists.ozlabs.org/pipermail/linuxppc-dev/2001-August/011558.html
This recommends preserving LR, which I do here for purposes of
eliminating it as a factor, but it's actually irrelevant for Ion since
it's not at all ABI compliant.
Cameron Kaiser
_______________________________________________
dev-tech-js-engine-internals mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals