1.1 --- a/src/cpu/x86/vm/assembler_x86_64.hpp Wed May 21 10:45:07 2008 -0700 1.2 +++ b/src/cpu/x86/vm/assembler_x86_64.hpp Wed May 21 13:46:23 2008 -0700 1.3 @@ -490,7 +490,12 @@ 1.4 imm64_operand = 0, // embedded 64-bit immediate operand 1.5 disp32_operand = 1, // embedded 32-bit displacement 1.6 call32_operand = 2, // embedded 32-bit self-relative displacement 1.7 +#ifndef AMD64 1.8 _WhichOperand_limit = 3 1.9 +#else 1.10 + narrow_oop_operand = 3, // embedded 32-bit immediate narrow oop 1.11 + _WhichOperand_limit = 4 1.12 +#endif 1.13 }; 1.14 1.15 public: 1.16 @@ -1114,6 +1119,8 @@ 1.17 void encode_heap_oop_not_null(Register dst, Register src); 1.18 void decode_heap_oop_not_null(Register dst, Register src); 1.19 1.20 + void set_narrow_oop(Register dst, jobject obj); 1.21 + 1.22 // Stack frame creation/removal 1.23 void enter(); 1.24 void leave();