Move vmfp, vmsp, and vmpc into RDS
Summary: The three registers now live in the RDS header struct instead of the
execution context. This makes accessing them from translated code more
efficient, though we do that rarely enough that it doesn't matter much in
practice. The speed of the accessor functions should be unchanged: they're
still loading a pointer from TLS then reading at a fixed offset from that
pointer. This will slow down parts of the interpreter a little, since they now
access TLS instead of a member on this.
Most of the diff is just changing uses of the old accessors to use the "new"
ones and is pretty uninteresting. The biggest change is that the
vmfp()/vmsp()/vmpc() accessors have moved out of translator-inline.h into their
own header, runtime/vm/vm-regs.h, and are now the canonical way to access these
registers. VMRegAnchor and CallerFrame have also moved out of the JIT namespace
since they're such an integral part of the VM now.
Reviewed By: @jdelong
Differential Revision:
D1357112