Mercurial > hg > graal-compiler
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 |