2563 Label next_test; |
2563 Label next_test; |
2564 // See if the receiver is receiver[n]. |
2564 // See if the receiver is receiver[n]. |
2565 Address receiver_addr(mdo, md->byte_offset_of_slot(data, ReceiverTypeData::receiver_offset(i)) - |
2565 Address receiver_addr(mdo, md->byte_offset_of_slot(data, ReceiverTypeData::receiver_offset(i)) - |
2566 mdo_offset_bias); |
2566 mdo_offset_bias); |
2567 __ ld_ptr(receiver_addr, tmp1); |
2567 __ ld_ptr(receiver_addr, tmp1); |
2568 __ verify_oop(tmp1); |
2568 __ verify_klass_ptr(tmp1); |
2569 __ cmp_and_brx_short(recv, tmp1, Assembler::notEqual, Assembler::pt, next_test); |
2569 __ cmp_and_brx_short(recv, tmp1, Assembler::notEqual, Assembler::pt, next_test); |
2570 Address data_addr(mdo, md->byte_offset_of_slot(data, ReceiverTypeData::receiver_count_offset(i)) - |
2570 Address data_addr(mdo, md->byte_offset_of_slot(data, ReceiverTypeData::receiver_count_offset(i)) - |
2571 mdo_offset_bias); |
2571 mdo_offset_bias); |
2572 __ ld_ptr(data_addr, tmp1); |
2572 __ ld_ptr(data_addr, tmp1); |
2573 __ add(tmp1, DataLayout::counter_increment, tmp1); |
2573 __ add(tmp1, DataLayout::counter_increment, tmp1); |