470 Register tmp_reg = tmp()->as_register(); |
470 Register tmp_reg = tmp()->as_register(); |
471 |
471 |
472 __ load_klass(src_reg, tmp_reg); |
472 __ load_klass(src_reg, tmp_reg); |
473 |
473 |
474 Address ref_type_adr(tmp_reg, instanceKlass::reference_type_offset()); |
474 Address ref_type_adr(tmp_reg, instanceKlass::reference_type_offset()); |
475 __ ld(ref_type_adr, tmp_reg); |
475 __ ldub(ref_type_adr, tmp_reg); |
476 |
476 |
477 // _reference_type field is of type ReferenceType (enum) |
477 // _reference_type field is of type ReferenceType (enum) |
478 assert(REF_NONE == 0, "check this code"); |
478 assert(REF_NONE == 0, "check this code"); |
479 __ cmp_zero_and_br(Assembler::equal, tmp_reg, _continuation, /*annul*/false, Assembler::pt); |
479 __ cmp_zero_and_br(Assembler::equal, tmp_reg, _continuation, /*annul*/false, Assembler::pt); |
480 __ delayed()->nop(); |
480 __ delayed()->nop(); |