src/share/vm/c1/c1_LIRGenerator.cpp

changeset 6223
add2caa66e7e
parent 6103
e6ba215af802
child 6643
ce9fd31ffd14
     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(),

mercurial