--- old/src/hotspot/share/runtime/vframe.hpp 2020-07-21 14:43:59.951611170 +0200 +++ new/src/hotspot/share/runtime/vframe.hpp 2020-07-21 14:43:59.835609525 +0200 @@ -249,25 +249,13 @@ bool _owner_is_scalar_replaced; public: // Constructor - MonitorInfo(oop owner, BasicLock* lock, bool eliminated, bool owner_is_scalar_replaced, TRAPS) { - 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; - } + MonitorInfo(oop owner, BasicLock* lock, bool eliminated, bool owner_is_scalar_replaced); // Accessors - oop owner() const { + oop owner() const { assert(!_owner_is_scalar_replaced, "should not be called for scalar replaced object"); return _owner(); } - oop owner_klass() const { + oop owner_klass() const { assert(_owner_is_scalar_replaced, "should not be called for not scalar replaced object"); return _owner_klass(); }