src/cpu/x86/vm/assembler_x86_64.cpp

changeset 613
6d172e3548cb
parent 559
b130b98db9cf
child 614
1f809e010142
equal deleted inserted replaced
612:2a8ec427fbe1 613:6d172e3548cb
5263 5263
5264 void MacroAssembler::decode_heap_oop_not_null(Register r) { 5264 void MacroAssembler::decode_heap_oop_not_null(Register r) {
5265 assert (UseCompressedOops, "should only be used for compressed headers"); 5265 assert (UseCompressedOops, "should only be used for compressed headers");
5266 // Cannot assert, unverified entry point counts instructions (see .ad file) 5266 // Cannot assert, unverified entry point counts instructions (see .ad file)
5267 // vtableStubs also counts instructions in pd_code_size_limit. 5267 // vtableStubs also counts instructions in pd_code_size_limit.
5268 // Also do not verify_oop as this is called by verify_oop.
5268 assert(Address::times_8 == LogMinObjAlignmentInBytes, "decode alg wrong"); 5269 assert(Address::times_8 == LogMinObjAlignmentInBytes, "decode alg wrong");
5269 leaq(r, Address(r12_heapbase, r, Address::times_8, 0)); 5270 leaq(r, Address(r12_heapbase, r, Address::times_8, 0));
5270 } 5271 }
5271 5272
5272 void MacroAssembler::decode_heap_oop_not_null(Register dst, Register src) { 5273 void MacroAssembler::decode_heap_oop_not_null(Register dst, Register src) {
5273 assert (UseCompressedOops, "should only be used for compressed headers"); 5274 assert (UseCompressedOops, "should only be used for compressed headers");
5274 // Cannot assert, unverified entry point counts instructions (see .ad file) 5275 // Cannot assert, unverified entry point counts instructions (see .ad file)
5275 // vtableStubs also counts instructions in pd_code_size_limit. 5276 // vtableStubs also counts instructions in pd_code_size_limit.
5277 // Also do not verify_oop as this is called by verify_oop.
5276 assert(Address::times_8 == LogMinObjAlignmentInBytes, "decode alg wrong"); 5278 assert(Address::times_8 == LogMinObjAlignmentInBytes, "decode alg wrong");
5277 leaq(dst, Address(r12_heapbase, src, Address::times_8, 0)); 5279 leaq(dst, Address(r12_heapbase, src, Address::times_8, 0));
5278 } 5280 }
5279 5281
5280 Assembler::Condition MacroAssembler::negate_condition(Assembler::Condition cond) { 5282 Assembler::Condition MacroAssembler::negate_condition(Assembler::Condition cond) {

mercurial