3286 |
3286 |
3287 bool ignored_will_link; |
3287 bool ignored_will_link; |
3288 ciSignature* signature_at_call = NULL; |
3288 ciSignature* signature_at_call = NULL; |
3289 x->method()->get_method_at_bci(bci, ignored_will_link, &signature_at_call); |
3289 x->method()->get_method_at_bci(bci, ignored_will_link, &signature_at_call); |
3290 |
3290 |
3291 ciKlass* exact = profile_type(md, 0, md->byte_offset_of_slot(data, ret->type_offset()), |
3291 // The offset within the MDO of the entry to update may be too large |
|
3292 // to be used in load/store instructions on some platforms. So have |
|
3293 // profile_type() compute the address of the profile in a register. |
|
3294 ciKlass* exact = profile_type(md, md->byte_offset_of_slot(data, ret->type_offset()), 0, |
3292 ret->type(), x->ret(), mdp, |
3295 ret->type(), x->ret(), mdp, |
3293 !x->needs_null_check(), |
3296 !x->needs_null_check(), |
3294 signature_at_call->return_type()->as_klass(), |
3297 signature_at_call->return_type()->as_klass(), |
3295 x->callee()->signature()->return_type()->as_klass()); |
3298 x->callee()->signature()->return_type()->as_klass()); |
3296 if (exact != NULL) { |
3299 if (exact != NULL) { |