comparison src/share/vm/c1/c1_LIRGenerator.cpp @ 17900:ce9fd31ffd14

8039975: SIGSEGV in MethodData::next_data(ProfileData*) Summary: profiling code in interpreter broken when argument profiling is off. Reviewed-by: iveresov, kvn
author roland
date Fri, 18 Apr 2014 14:25:21 +0200
parents add2caa66e7e
children 45e59fae8f2b
comparison
equal deleted inserted replaced
17899:9eddc467297f 17900:ce9fd31ffd14
3184 } 3184 }
3185 } else { 3185 } else {
3186 #ifdef ASSERT 3186 #ifdef ASSERT
3187 Bytecodes::Code code = x->method()->raw_code_at_bci(x->bci_of_invoke()); 3187 Bytecodes::Code code = x->method()->raw_code_at_bci(x->bci_of_invoke());
3188 int n = x->nb_profiled_args(); 3188 int n = x->nb_profiled_args();
3189 assert(MethodData::profile_parameters() && x->inlined() && 3189 assert(MethodData::profile_parameters() && (MethodData::profile_arguments_jsr292_only() ||
3190 ((code == Bytecodes::_invokedynamic && n <= 1) || (code == Bytecodes::_invokehandle && n <= 2)), 3190 (x->inlined() && ((code == Bytecodes::_invokedynamic && n <= 1) || (code == Bytecodes::_invokehandle && n <= 2)))),
3191 "only at JSR292 bytecodes"); 3191 "only at JSR292 bytecodes");
3192 #endif 3192 #endif
3193 } 3193 }
3194 } 3194 }
3195 } 3195 }