8204209: [Graal] Compilation fails during nmethod printing with "assert(bci == 0 || 0 <= bci && bci < code_size()) failed: illegal bci"

Tolerate JVMCI placeholder bcis

Reviewed-by: kvn, never, dlong
This commit is contained in:
Igor Veresov 2018-06-22 15:58:32 -07:00
parent b84c23399e
commit 90c4e07b60
7 changed files with 48 additions and 11 deletions

View file

@ -2599,6 +2599,16 @@ void nmethod::print_code_comment_on(outputStream* st, int column, u_char* begin,
st->move_to(column);
if (sd->bci() == SynchronizationEntryBCI) {
st->print(";*synchronization entry");
} else if (sd->bci() == AfterBci) {
st->print(";* method exit (unlocked if synchronized)");
} else if (sd->bci() == UnwindBci) {
st->print(";* unwind (locked if synchronized)");
} else if (sd->bci() == AfterExceptionBci) {
st->print(";* unwind (unlocked if synchronized)");
} else if (sd->bci() == UnknownBci) {
st->print(";* unknown");
} else if (sd->bci() == InvalidFrameStateBci) {
st->print(";* invalid frame state");
} else {
if (sd->method() == NULL) {
st->print("method is NULL");