--- old/src/share/vm/utilities/debug.cpp 2010-11-12 05:57:07.703271285 -0800 +++ new/src/share/vm/utilities/debug.cpp 2010-11-12 05:57:07.311202329 -0800 @@ -361,8 +361,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); + } }