ciEnv::_break_at_compile is set in compilerBroker but never be referred.
c1 and c2 check _directive->BreakAtCompileOption individually.
it actually voids the following condtion.
should_break = directive->BreakAtExecuteOption || task->check_break_at_flags();
first of all, it sounds like it should be BreakAtCompileOption.
second, the following flags are all ignored.
// CompileTask::check_break_at_flags
bool CompileTask::check_break_at_flags() {
int compile_id = this->_compile_id;
bool is_osr = (_osr_bci != CompileBroker::standard_entry_bci);
if (CICountOSR && is_osr && (compile_id == CIBreakAtOSR)) {
return true;
} else {
return (compile_id == CIBreakAt);
}
}