diff -r 1258121876f8 -r 8e875c964f41 src/share/vm/jfr/support/jfrThreadLocal.cpp --- a/src/share/vm/jfr/support/jfrThreadLocal.cpp Fri Sep 27 13:23:32 2019 +0800 +++ b/src/share/vm/jfr/support/jfrThreadLocal.cpp Wed Oct 09 16:11:58 2019 +0800 @@ -150,9 +150,7 @@ JfrStackFrame* JfrThreadLocal::install_stackframes() const { assert(_stackframes == NULL, "invariant"); - _stackdepth = (u4)JfrOptionSet::stackdepth(); - guarantee(_stackdepth > 0, "Stackdepth must be > 0"); - _stackframes = NEW_C_HEAP_ARRAY(JfrStackFrame, _stackdepth, mtTracing); + _stackframes = NEW_C_HEAP_ARRAY(JfrStackFrame, stackdepth(), mtTracing); return _stackframes; } @@ -163,3 +161,7 @@ ByteSize JfrThreadLocal::java_event_writer_offset() { return in_ByteSize(offset_of(JfrThreadLocal, _java_event_writer)); } + +u4 JfrThreadLocal::stackdepth() const { + return _stackdepth != 0 ? _stackdepth : (u4)JfrOptionSet::stackdepth(); +}