< prev index next >
src/hotspot/share/opto/graphKit.cpp
Print this page
*** 2274,2284 ****
const TypeFunc* tf = TypeFunc::make(dest_method);
int nargs = tf->domain()->cnt() - TypeFunc::Parms;
int skip = Bytecodes::has_receiver(bc) ? 1 : 0;
for (int j = skip, i = 0; j < nargs && i < TypeProfileArgsLimit; j++) {
const Type *targ = tf->domain()->field_at(j + TypeFunc::Parms);
! if (targ->basic_type() == T_OBJECT || targ->basic_type() == T_ARRAY) {
ProfilePtrKind ptr_kind = ProfileMaybeNull;
ciKlass* better_type = NULL;
if (method()->argument_profiled_type(bci(), i, better_type, ptr_kind)) {
record_profile_for_speculation(argument(j), better_type, ptr_kind);
}
--- 2274,2284 ----
const TypeFunc* tf = TypeFunc::make(dest_method);
int nargs = tf->domain()->cnt() - TypeFunc::Parms;
int skip = Bytecodes::has_receiver(bc) ? 1 : 0;
for (int j = skip, i = 0; j < nargs && i < TypeProfileArgsLimit; j++) {
const Type *targ = tf->domain()->field_at(j + TypeFunc::Parms);
! if (is_reference_type(targ->basic_type())) {
ProfilePtrKind ptr_kind = ProfileMaybeNull;
ciKlass* better_type = NULL;
if (method()->argument_profiled_type(bci(), i, better_type, ptr_kind)) {
record_profile_for_speculation(argument(j), better_type, ptr_kind);
}
< prev index next >