6703890: Compressed Oops: add LoadNKlass node to generate narrow oops (32-bits) compare instructions

Add LoadNKlass and CMoveN nodes, use CmpN and ConN nodes to generate narrow oops compare instructions.

Reviewed-by: never, rasbold
This commit is contained in:
Vladimir Kozlov 2008-05-21 13:46:23 -07:00
parent 757229db71
commit 76035424de
29 changed files with 428 additions and 128 deletions

View file

@ -1977,8 +1977,8 @@ class MacroAssembler: public Assembler {
inline void movbool( bool boolconst, Register d) { mov( (int) boolconst, d); }
// klass oop manipulations if compressed
void load_klass(Register src_oop, Register dst);
void store_klass(Register dst_oop, Register s1);
void load_klass(Register src_oop, Register klass);
void store_klass(Register klass, Register dst_oop);
// oop manipulations
void load_heap_oop(const Address& s, Register d, int offset = 0);
@ -2103,6 +2103,8 @@ class MacroAssembler: public Assembler {
inline void set_oop_constant( jobject obj, Register d ); // uses constant_oop_address
inline void set_oop ( Address obj_addr ); // same as load_address
void set_narrow_oop( jobject obj, Register d );
// nop padding
void align(int modulus);