diff -r 1e95931e7d8f -r 49102ba8cf14 src/hotspot/share/jfr/support/jfrThreadLocal.cpp --- a/src/hotspot/share/jfr/support/jfrThreadLocal.cpp Wed Jul 03 11:43:01 2019 +0800 +++ b/src/hotspot/share/jfr/support/jfrThreadLocal.cpp Wed Jul 03 11:34:46 2019 +0200 @@ -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(); +}