comparison src/cpu/x86/vm/assembler_x86_64.hpp @ 164:c436414a719e

6703890: Compressed Oops: add LoadNKlass node to generate narrow oops (32-bits) compare instructions Summary: Add LoadNKlass and CMoveN nodes, use CmpN and ConN nodes to generate narrow oops compare instructions. Reviewed-by: never, rasbold
author kvn
date Wed, 21 May 2008 13:46:23 -0700
parents b130b98db9cf
children feeb96a45707
comparison
equal deleted inserted replaced
163:885ed790ecf0 164:c436414a719e
488 enum WhichOperand { 488 enum WhichOperand {
489 // input to locate_operand, and format code for relocations 489 // input to locate_operand, and format code for relocations
490 imm64_operand = 0, // embedded 64-bit immediate operand 490 imm64_operand = 0, // embedded 64-bit immediate operand
491 disp32_operand = 1, // embedded 32-bit displacement 491 disp32_operand = 1, // embedded 32-bit displacement
492 call32_operand = 2, // embedded 32-bit self-relative displacement 492 call32_operand = 2, // embedded 32-bit self-relative displacement
493 #ifndef AMD64
493 _WhichOperand_limit = 3 494 _WhichOperand_limit = 3
495 #else
496 narrow_oop_operand = 3, // embedded 32-bit immediate narrow oop
497 _WhichOperand_limit = 4
498 #endif
494 }; 499 };
495 500
496 public: 501 public:
497 502
498 // Creation 503 // Creation
1112 void encode_heap_oop_not_null(Register r); 1117 void encode_heap_oop_not_null(Register r);
1113 void decode_heap_oop_not_null(Register r); 1118 void decode_heap_oop_not_null(Register r);
1114 void encode_heap_oop_not_null(Register dst, Register src); 1119 void encode_heap_oop_not_null(Register dst, Register src);
1115 void decode_heap_oop_not_null(Register dst, Register src); 1120 void decode_heap_oop_not_null(Register dst, Register src);
1116 1121
1122 void set_narrow_oop(Register dst, jobject obj);
1123
1117 // Stack frame creation/removal 1124 // Stack frame creation/removal
1118 void enter(); 1125 void enter();
1119 void leave(); 1126 void leave();
1120 1127
1121 // Support for getting the JavaThread pointer (i.e.; a reference to 1128 // Support for getting the JavaThread pointer (i.e.; a reference to