--- old/src/hotspot/share/runtime/vframe.inline.hpp 2020-07-21 11:36:12.330793382 +0200 +++ new/src/hotspot/share/runtime/vframe.inline.hpp 2020-07-21 11:36:12.214791775 +0200 @@ -66,6 +66,21 @@ } } +inline MonitorInfo::MonitorInfo(oop owner, BasicLock* lock, bool eliminated, bool owner_is_scalar_replaced) { + Thread* thread = Thread::current(); + if (!owner_is_scalar_replaced) { + _owner = Handle(thread, owner); + _owner_klass = Handle(); + } else { + assert(eliminated, "monitor should be eliminated for scalar replaced object"); + _owner = Handle(); + _owner_klass = Handle(thread, owner); + } + _lock = lock; + _eliminated = eliminated; + _owner_is_scalar_replaced = owner_is_scalar_replaced; +} + inline bool vframeStreamCommon::fill_in_compiled_inlined_sender() { if (_sender_decode_offset == DebugInformationRecorder::serialized_null) { return false;