1.1 --- a/src/share/vm/c1/c1_LIRGenerator.cpp Tue Jan 14 12:44:12 2014 +0100 1.2 +++ b/src/share/vm/c1/c1_LIRGenerator.cpp Tue Jan 14 14:51:47 2014 +0100 1.3 @@ -3288,7 +3288,10 @@ 1.4 ciSignature* signature_at_call = NULL; 1.5 x->method()->get_method_at_bci(bci, ignored_will_link, &signature_at_call); 1.6 1.7 - ciKlass* exact = profile_type(md, 0, md->byte_offset_of_slot(data, ret->type_offset()), 1.8 + // The offset within the MDO of the entry to update may be too large 1.9 + // to be used in load/store instructions on some platforms. So have 1.10 + // profile_type() compute the address of the profile in a register. 1.11 + ciKlass* exact = profile_type(md, md->byte_offset_of_slot(data, ret->type_offset()), 0, 1.12 ret->type(), x->ret(), mdp, 1.13 !x->needs_null_check(), 1.14 signature_at_call->return_type()->as_klass(),