8071374: -XX:+PrintAssembly -XX:+PrintSignatureHandlers crash fastdebug VM with assert(limit == __null || limit <= nm->code_end()) in RelocIterator::initialize

Reviewed-by: kvn, iklam, shade
This commit is contained in:
Vladimir Ivanov 2015-12-18 20:23:26 +03:00
parent f642bbcecd
commit a82be01120
13 changed files with 33 additions and 30 deletions

View file

@ -497,6 +497,7 @@ address decode_env::decode_instructions(address start, address end) {
void Disassembler::decode(CodeBlob* cb, outputStream* st) {
ttyLocker ttyl;
if (!load_library()) return;
if (cb->is_nmethod()) {
decode((nmethod*)cb, st);
@ -510,12 +511,14 @@ void Disassembler::decode(CodeBlob* cb, outputStream* st) {
}
void Disassembler::decode(address start, address end, outputStream* st, CodeStrings c) {
ttyLocker ttyl;
if (!load_library()) return;
decode_env env(CodeCache::find_blob_unsafe(start), st, c);
env.decode_instructions(start, end);
}
void Disassembler::decode(nmethod* nm, outputStream* st) {
ttyLocker ttyl;
if (!load_library()) return;
decode_env env(nm, st);
env.output()->print_cr("----------------------------------------------------------------------");