src/share/vm/utilities/debug.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6961690 Sdiff src/share/vm/utilities

src/share/vm/utilities/debug.cpp

Print this page
rev 1838 : 6961690: load oops from constant table on SPARC
Summary: oops should be loaded from the constant table of an nmethod instead of materializing them with a long code sequence.
Reviewed-by:


 344   klassOop k = (klassOop)p;
 345   instanceKlass::cast(k)->vtable()->print();
 346 }
 347 
 348 
 349 extern "C" void nm(intptr_t p) {
 350   // Actually we look through all CodeBlobs (the nm name has been kept for backwards compatability)
 351   Command c("nm");
 352   CodeBlob* cb = CodeCache::find_blob((address)p);
 353   if (cb == NULL) {
 354     tty->print_cr("NULL");
 355   } else {
 356     cb->print();
 357   }
 358 }
 359 
 360 
 361 extern "C" void disnm(intptr_t p) {
 362   Command c("disnm");
 363   CodeBlob* cb = CodeCache::find_blob((address) p);





 364   cb->print();
 365   Disassembler::decode(cb);

 366 }
 367 
 368 
 369 extern "C" void printnm(intptr_t p) {
 370   char buffer[256];
 371   sprintf(buffer, "printnm: " INTPTR_FORMAT, p);
 372   Command c(buffer);
 373   CodeBlob* cb = CodeCache::find_blob((address) p);
 374   if (cb->is_nmethod()) {
 375     nmethod* nm = (nmethod*)cb;
 376     nm->print_nmethod(true);
 377   }
 378 }
 379 
 380 
 381 extern "C" void universe() {
 382   Command c("universe");
 383   Universe::print();
 384 }
 385 




 344   klassOop k = (klassOop)p;
 345   instanceKlass::cast(k)->vtable()->print();
 346 }
 347 
 348 
 349 extern "C" void nm(intptr_t p) {
 350   // Actually we look through all CodeBlobs (the nm name has been kept for backwards compatability)
 351   Command c("nm");
 352   CodeBlob* cb = CodeCache::find_blob((address)p);
 353   if (cb == NULL) {
 354     tty->print_cr("NULL");
 355   } else {
 356     cb->print();
 357   }
 358 }
 359 
 360 
 361 extern "C" void disnm(intptr_t p) {
 362   Command c("disnm");
 363   CodeBlob* cb = CodeCache::find_blob((address) p);
 364   nmethod* nm = cb->as_nmethod_or_null();
 365   if (nm) {
 366     nm->print();
 367     Disassembler::decode(nm);
 368   } else {
 369     cb->print();
 370     Disassembler::decode(cb);
 371   }
 372 }
 373 
 374 
 375 extern "C" void printnm(intptr_t p) {
 376   char buffer[256];
 377   sprintf(buffer, "printnm: " INTPTR_FORMAT, p);
 378   Command c(buffer);
 379   CodeBlob* cb = CodeCache::find_blob((address) p);
 380   if (cb->is_nmethod()) {
 381     nmethod* nm = (nmethod*)cb;
 382     nm->print_nmethod(true);
 383   }
 384 }
 385 
 386 
 387 extern "C" void universe() {
 388   Command c("universe");
 389   Universe::print();
 390 }
 391 


src/share/vm/utilities/debug.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File