|
Relates :
|
Invoking Whitebox.deoptimizeMethod() on a method that has multiple OSR compiled versions only deoptimizes one OSR method.
The problem is in 'WB_DeoptimizeMethod' in whitebox.cpp:
int bci = InvocationEntryBci;
while ((code = mh->lookup_osr_nmethod_for(bci, CompLevel_none, false)) != NULL) {
code->mark_for_deoptimization();
++result;
bci = code->osr_entry_bci() + 1;
}
After incrementing the bci 'lookup_osr_nmethod_for()' returns NULL and we exit the loop.
|