diff options
author | roland <none@none> | 2014-04-18 14:25:21 +0200 |
---|---|---|
committer | roland <none@none> | 2014-04-18 14:25:21 +0200 |
commit | a92c31a68530a23261f81b1be129b6c4876c4eec (patch) | |
tree | 4ab8a25aa01c8b4a0a558104ff12fc4e45b32e96 /src/share/vm/c1 | |
parent | 5e4743db0bc137e937a6822641901d8b03ffb891 (diff) |
8039975: SIGSEGV in MethodData::next_data(ProfileData*)
Summary: profiling code in interpreter broken when argument profiling is off.
Reviewed-by: iveresov, kvn
Diffstat (limited to 'src/share/vm/c1')
-rw-r--r-- | src/share/vm/c1/c1_LIRGenerator.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/share/vm/c1/c1_LIRGenerator.cpp b/src/share/vm/c1/c1_LIRGenerator.cpp index 5ed047656..914f8c4fa 100644 --- a/src/share/vm/c1/c1_LIRGenerator.cpp +++ b/src/share/vm/c1/c1_LIRGenerator.cpp @@ -3186,8 +3186,8 @@ void LIRGenerator::profile_arguments(ProfileCall* x) { #ifdef ASSERT Bytecodes::Code code = x->method()->raw_code_at_bci(x->bci_of_invoke()); int n = x->nb_profiled_args(); - assert(MethodData::profile_parameters() && x->inlined() && - ((code == Bytecodes::_invokedynamic && n <= 1) || (code == Bytecodes::_invokehandle && n <= 2)), + assert(MethodData::profile_parameters() && (MethodData::profile_arguments_jsr292_only() || + (x->inlined() && ((code == Bytecodes::_invokedynamic && n <= 1) || (code == Bytecodes::_invokehandle && n <= 2)))), "only at JSR292 bytecodes"); #endif } |