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

Reply via email to