8027631: "unexpected profiling mismatch" error with new type profiling

Inlined method handle calls can call methods with different signatures

Reviewed-by: kvn, iveresov
This commit is contained in:
Roland Westrelin 2013-11-13 09:45:58 +01:00
parent 31d2d5121a
commit 44f0952afe
3 changed files with 178 additions and 31 deletions

View file

@ -434,7 +434,9 @@ class LIRGenerator: public InstructionVisitor, public BlockClosure {
void do_ThreadIDIntrinsic(Intrinsic* x);
void do_ClassIDIntrinsic(Intrinsic* x);
#endif
ciKlass* profile_arg_type(ciMethodData* md, int md_first_offset, int md_offset, intptr_t profiled_k, Value arg, LIR_Opr& mdp, bool not_null, ciKlass* signature_k);
ciKlass* profile_type(ciMethodData* md, int md_first_offset, int md_offset, intptr_t profiled_k,
Value arg, LIR_Opr& mdp, bool not_null, ciKlass* signature_at_call_k,
ciKlass* callee_signature_k);
void profile_arguments(ProfileCall* x);
void profile_parameters(Base* x);
void profile_parameters_at_call(ProfileCall* x);