aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/c1
diff options
context:
space:
mode:
authorroland <none@none>2014-04-18 14:25:21 +0200
committerroland <none@none>2014-04-18 14:25:21 +0200
commita92c31a68530a23261f81b1be129b6c4876c4eec (patch)
tree4ab8a25aa01c8b4a0a558104ff12fc4e45b32e96 /src/share/vm/c1
parent5e4743db0bc137e937a6822641901d8b03ffb891 (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.cpp4
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
}