diff -r 5ddfcf4b079e -r 2f644f85485d src/share/vm/utilities/debug.cpp --- a/src/share/vm/utilities/debug.cpp Thu Dec 02 17:21:12 2010 -0800 +++ b/src/share/vm/utilities/debug.cpp Fri Dec 03 01:34:31 2010 -0800 @@ -399,8 +399,14 @@ extern "C" void disnm(intptr_t p) { Command c("disnm"); CodeBlob* cb = CodeCache::find_blob((address) p); - cb->print(); - Disassembler::decode(cb); + nmethod* nm = cb->as_nmethod_or_null(); + if (nm) { + nm->print(); + Disassembler::decode(nm); + } else { + cb->print(); + Disassembler::decode(cb); + } }