508 env.output()->print_cr(" at [" PTR_FORMAT ", " PTR_FORMAT "] " JLONG_FORMAT " bytes", p2i(cb->code_begin()), p2i(cb->code_end()), ((jlong)(cb->code_end() - cb->code_begin())) * sizeof(unsigned char*)); |
509 env.output()->print_cr(" at [" PTR_FORMAT ", " PTR_FORMAT "] " JLONG_FORMAT " bytes", p2i(cb->code_begin()), p2i(cb->code_end()), ((jlong)(cb->code_end() - cb->code_begin())) * sizeof(unsigned char*)); |
509 env.decode_instructions(cb->code_begin(), cb->code_end()); |
510 env.decode_instructions(cb->code_begin(), cb->code_end()); |
510 } |
511 } |
511 |
512 |
512 void Disassembler::decode(address start, address end, outputStream* st, CodeStrings c) { |
513 void Disassembler::decode(address start, address end, outputStream* st, CodeStrings c) { |
|
514 ttyLocker ttyl; |
513 if (!load_library()) return; |
515 if (!load_library()) return; |
514 decode_env env(CodeCache::find_blob_unsafe(start), st, c); |
516 decode_env env(CodeCache::find_blob_unsafe(start), st, c); |
515 env.decode_instructions(start, end); |
517 env.decode_instructions(start, end); |
516 } |
518 } |
517 |
519 |
518 void Disassembler::decode(nmethod* nm, outputStream* st) { |
520 void Disassembler::decode(nmethod* nm, outputStream* st) { |
|
521 ttyLocker ttyl; |
519 if (!load_library()) return; |
522 if (!load_library()) return; |
520 decode_env env(nm, st); |
523 decode_env env(nm, st); |
521 env.output()->print_cr("----------------------------------------------------------------------"); |
524 env.output()->print_cr("----------------------------------------------------------------------"); |
522 |
525 |
523 #ifdef SHARK |
526 #ifdef SHARK |