equal
deleted
inserted
replaced
3502 |
3502 |
3503 // Update counter for all call types |
3503 // Update counter for all call types |
3504 ciMethodData* md = method->method_data_or_null(); |
3504 ciMethodData* md = method->method_data_or_null(); |
3505 assert(md != NULL, "Sanity"); |
3505 assert(md != NULL, "Sanity"); |
3506 ciProfileData* data = md->bci_to_data(bci); |
3506 ciProfileData* data = md->bci_to_data(bci); |
3507 assert(data->is_CounterData(), "need CounterData for calls"); |
3507 assert(data != NULL && data->is_CounterData(), "need CounterData for calls"); |
3508 assert(op->mdo()->is_single_cpu(), "mdo must be allocated"); |
3508 assert(op->mdo()->is_single_cpu(), "mdo must be allocated"); |
3509 Register mdo = op->mdo()->as_register(); |
3509 Register mdo = op->mdo()->as_register(); |
3510 __ mov_metadata(mdo, md->constant_encoding()); |
3510 __ mov_metadata(mdo, md->constant_encoding()); |
3511 Address counter_addr(mdo, md->byte_offset_of_slot(data, CounterData::count_offset())); |
3511 Address counter_addr(mdo, md->byte_offset_of_slot(data, CounterData::count_offset())); |
3512 // Perform additional virtual call profiling for invokevirtual and |
3512 // Perform additional virtual call profiling for invokevirtual and |