< prev index next >

src/cpu/aarch64/vm/macroAssembler_aarch64.hpp

Print this page
rev 12152 : [mq]: verification.patch

*** 539,548 **** --- 539,559 ---- inline void clear_fpsr() { msr(0b011, 0b0100, 0b0100, 0b001, zr); } + // Macro instructions for accessing and updating the condition flags + inline void get_cflags(Register reg) + { + mrs(0b011, 0b0100, 0b0010, 0b000, reg); + } + + inline void set_cflags(Register reg) + { + msr(0b011, 0b0100, 0b0010, 0b000, reg); + } + // DCZID_EL0: op1 == 011 // CRn == 0000 // CRm == 0000 // op2 == 111 inline void get_dczid_el0(Register reg)
*** 1237,1250 **** Register cnt1, Register cnt2, Register tmp1, Register tmp2, Register tmp3, Register tmp4, int int_cnt1, Register result, int ae); ! void in_heap_check(Register r, Label &nope); ! void shenandoah_store_check(Register r, Address addr); ! void shenandoah_store_check(Address addr); ! void shenandoah_store_check(Register addr); private: void add2_with_carry(Register final_dest_hi, Register dest_hi, Register dest_lo, Register src1, Register src2); void add2_with_carry(Register dest_hi, Register dest_lo, Register src1, Register src2) { --- 1248,1270 ---- Register cnt1, Register cnt2, Register tmp1, Register tmp2, Register tmp3, Register tmp4, int int_cnt1, Register result, int ae); ! void in_heap_check(Register r, Register tmp, Label &nope); ! ! private: ! void shenandoah_cset_check(Register obj, Register tmp1, Register tmp2, Label& done); ! ! public: ! void _shenandoah_store_addr_check(Register addr, const char* msg, const char* file, int line); ! void _shenandoah_store_addr_check(Address addr, const char* msg, const char* file, int line); ! #define shenandoah_store_addr_check(reg) _shenandoah_store_addr_check(reg, "oop not safe for writing", __FILE__, __LINE__) ! ! void _shenandoah_store_check(Address addr, Register value, const char* msg, const char* file, int line); ! void _shenandoah_store_check(Register addr, Register value, const char* msg, const char* file, int line); ! #define shenandoah_store_check(addr, value) _shenandoah_store_check(addr, value, "oop not safe for writing", __FILE__, __LINE__) private: void add2_with_carry(Register final_dest_hi, Register dest_hi, Register dest_lo, Register src1, Register src2); void add2_with_carry(Register dest_hi, Register dest_lo, Register src1, Register src2) {
< prev index next >