--- old/src/share/vm/runtime/vframe.cpp 2015-02-12 16:42:23.000000000 -0500 +++ new/src/share/vm/runtime/vframe.cpp 2015-02-12 16:42:23.000000000 -0500 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -189,6 +189,7 @@ if (monitor->eliminated() && is_compiled_frame()) { // Eliminated in compiled code if (monitor->owner_is_scalar_replaced()) { Klass* k = java_lang_Class::as_Klass(monitor->owner_klass()); + // format below for lockbits matches this one. st->print("\t- eliminated (a %s)", k->external_name()); } else { oop obj = monitor->owner(); @@ -216,11 +217,18 @@ !mark->monitor()->is_entered(thread()) )) { lock_state = "waiting to lock"; + print_locked_object_class_name(st, monitor->owner(), lock_state); + if (Verbose) { + // match with format above, replacing "-" with " ". + st->print("\t lockbits="); mark->print_on(st); st->print_cr(""); + } + } else { + print_locked_object_class_name(st, monitor->owner(), lock_state); } + } else { + print_locked_object_class_name(st, monitor->owner(), lock_state); } - found_first_monitor = true; - print_locked_object_class_name(st, monitor->owner(), lock_state); } } } @@ -577,10 +585,13 @@ tty->print("( null )"); } else { monitor->owner()->print_value(); - tty->print("(" INTPTR_FORMAT ")", (address)monitor->owner()); + tty->print("(owner=" INTPTR_FORMAT ")", (address)monitor->owner()); } - if (monitor->eliminated() && is_compiled_frame()) - tty->print(" ( lock is eliminated )"); + if (monitor->eliminated()) + if(is_compiled_frame()) + tty->print(" ( lock is eliminated in compiled frame )"); + else + tty->print(" ( lock is eliminated, frame not compiled )"); tty->cr(); tty->print("\t "); monitor->lock()->print_on(tty);