# HG changeset patch # User zmajo # Date 1422555407 -3600 # Node ID bee40a1e5cfffd087e59611eca4761d95fbcd221 # Parent 252f7d579300c57c3bd72f9cabca3a308a5ea619 8071654: disassembler handles embedded OOPs not uniformly Summary: Remove (currently dead) code that prints oops within disassembled instructions. Reviewed-by: kvn, thartmann, roland diff -r 252f7d579300 -r bee40a1e5cff hotspot/src/share/vm/code/nmethod.cpp --- a/hotspot/src/share/vm/code/nmethod.cpp Thu Jan 29 10:26:02 2015 -0800 +++ b/hotspot/src/share/vm/code/nmethod.cpp Thu Jan 29 19:16:47 2015 +0100 @@ -2310,17 +2310,6 @@ #endif // !SHARK } - -oop nmethod::embeddedOop_at(u_char* p) { - RelocIterator iter(this, p, p + 1); - while (iter.next()) - if (iter.type() == relocInfo::oop_type) { - return iter.oop_reloc()->oop_value(); - } - return NULL; -} - - inline bool includes(void* p, void* from, void* to) { return from <= p && p < to; } diff -r 252f7d579300 -r bee40a1e5cff hotspot/src/share/vm/code/nmethod.hpp --- a/hotspot/src/share/vm/code/nmethod.hpp Thu Jan 29 10:26:02 2015 -0800 +++ b/hotspot/src/share/vm/code/nmethod.hpp Thu Jan 29 19:16:47 2015 +0100 @@ -730,11 +730,6 @@ int compile_id() const { return _compile_id; } const char* compile_kind() const; - // For debugging - // CompiledIC* IC_at(char* p) const; - // PrimitiveIC* primitiveIC_at(char* p) const; - oop embeddedOop_at(address p); - // tells if any of this method's dependencies have been invalidated // (this is expensive!) static void check_all_dependencies(DepChange& changes); diff -r 252f7d579300 -r bee40a1e5cff hotspot/src/share/vm/compiler/disassembler.cpp --- a/hotspot/src/share/vm/compiler/disassembler.cpp Thu Jan 29 10:26:02 2015 -0800 +++ b/hotspot/src/share/vm/compiler/disassembler.cpp Thu Jan 29 19:16:47 2015 +0100 @@ -345,21 +345,6 @@ if (WizardMode) st->print(" " INTPTR_FORMAT, (intptr_t)adr); return; } - - oop obj; - if (_nm != NULL - && (obj = _nm->embeddedOop_at(cur_insn())) != NULL - && (address) obj == adr - && Universe::heap()->is_in(obj) - && Universe::heap()->is_in(obj->klass())) { - julong c = st->count(); - obj->print_value_on(st); - if (st->count() == c) { - // No output. (Can happen in product builds.) - st->print("(a %s)", obj->klass()->external_name()); - } - return; - } } // Fall through to a simple (hexadecimal) numeral.