8212 } else { |
8212 } else { |
8213 movq(dst, src); |
8213 movq(dst, src); |
8214 } |
8214 } |
8215 } |
8215 } |
8216 |
8216 |
|
8217 // Used for storing NULLs. |
|
8218 void MacroAssembler::store_heap_oop_null(Address dst) { |
|
8219 if (UseCompressedOops) { |
|
8220 movl(dst, (int32_t)NULL_WORD); |
|
8221 } else { |
|
8222 movslq(dst, (int32_t)NULL_WORD); |
|
8223 } |
|
8224 } |
|
8225 |
8217 // Algorithm must match oop.inline.hpp encode_heap_oop. |
8226 // Algorithm must match oop.inline.hpp encode_heap_oop. |
8218 void MacroAssembler::encode_heap_oop(Register r) { |
8227 void MacroAssembler::encode_heap_oop(Register r) { |
8219 assert (UseCompressedOops, "should be compressed"); |
8228 assert (UseCompressedOops, "should be compressed"); |
8220 assert (Universe::heap() != NULL, "java heap should be initialized"); |
8229 assert (Universe::heap() != NULL, "java heap should be initialized"); |
8221 if (Universe::narrow_oop_base() == NULL) { |
8230 if (Universe::narrow_oop_base() == NULL) { |