src/cpu/x86/vm/assembler_x86_64.cpp

changeset 614
1f809e010142
parent 602
feeb96a45707
parent 613
6d172e3548cb
child 621
cf1821c649d9
equal deleted inserted replaced
610:f2759c126e9d 614:1f809e010142
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) {

mercurial