< prev index next >

src/cpu/aarch64/vm/register_aarch64.hpp

Print this page
rev 12173 : 8170106: AArch64: Multiple JVMCI issues
Reviewed-by: duke

*** 41,51 **** class RegisterImpl: public AbstractRegisterImpl { public: enum { number_of_registers = 32, ! number_of_byte_registers = 32 }; // derived registers, offsets, and addresses Register successor() const { return as_Register(encoding() + 1); } --- 41,52 ---- class RegisterImpl: public AbstractRegisterImpl { public: enum { number_of_registers = 32, ! number_of_byte_registers = 32, ! number_of_registers_for_jvmci = 34 // Including SP and ZR. }; // derived registers, offsets, and addresses Register successor() const { return as_Register(encoding() + 1); }
*** 101,110 **** --- 102,115 ---- CONSTANT_REGISTER_DECLARATION(Register, r27, (27)); CONSTANT_REGISTER_DECLARATION(Register, r28, (28)); CONSTANT_REGISTER_DECLARATION(Register, r29, (29)); CONSTANT_REGISTER_DECLARATION(Register, r30, (30)); + + // r31 is not a general purpose register, but represents either the + // stack pointer or the zero/discard register depending on the + // instruction. CONSTANT_REGISTER_DECLARATION(Register, r31_sp, (31)); CONSTANT_REGISTER_DECLARATION(Register, zr, (32)); CONSTANT_REGISTER_DECLARATION(Register, sp, (33)); // Used as a filler in instructions where a register field is unused.
< prev index next >