5280 |
5280 |
5281 void MacroAssembler::decode_heap_oop_not_null(Register r) { |
5281 void MacroAssembler::decode_heap_oop_not_null(Register r) { |
5282 assert (UseCompressedOops, "should only be used for compressed headers"); |
5282 assert (UseCompressedOops, "should only be used for compressed headers"); |
5283 // Cannot assert, unverified entry point counts instructions (see .ad file) |
5283 // Cannot assert, unverified entry point counts instructions (see .ad file) |
5284 // vtableStubs also counts instructions in pd_code_size_limit. |
5284 // vtableStubs also counts instructions in pd_code_size_limit. |
|
5285 // Also do not verify_oop as this is called by verify_oop. |
5285 assert(Address::times_8 == LogMinObjAlignmentInBytes, "decode alg wrong"); |
5286 assert(Address::times_8 == LogMinObjAlignmentInBytes, "decode alg wrong"); |
5286 leaq(r, Address(r12_heapbase, r, Address::times_8, 0)); |
5287 leaq(r, Address(r12_heapbase, r, Address::times_8, 0)); |
5287 } |
5288 } |
5288 |
5289 |
5289 void MacroAssembler::decode_heap_oop_not_null(Register dst, Register src) { |
5290 void MacroAssembler::decode_heap_oop_not_null(Register dst, Register src) { |
5290 assert (UseCompressedOops, "should only be used for compressed headers"); |
5291 assert (UseCompressedOops, "should only be used for compressed headers"); |
5291 // Cannot assert, unverified entry point counts instructions (see .ad file) |
5292 // Cannot assert, unverified entry point counts instructions (see .ad file) |
5292 // vtableStubs also counts instructions in pd_code_size_limit. |
5293 // vtableStubs also counts instructions in pd_code_size_limit. |
|
5294 // Also do not verify_oop as this is called by verify_oop. |
5293 assert(Address::times_8 == LogMinObjAlignmentInBytes, "decode alg wrong"); |
5295 assert(Address::times_8 == LogMinObjAlignmentInBytes, "decode alg wrong"); |
5294 leaq(dst, Address(r12_heapbase, src, Address::times_8, 0)); |
5296 leaq(dst, Address(r12_heapbase, src, Address::times_8, 0)); |
5295 } |
5297 } |
5296 |
5298 |
5297 void MacroAssembler::set_narrow_oop(Register dst, jobject obj) { |
5299 void MacroAssembler::set_narrow_oop(Register dst, jobject obj) { |