< prev index next >
src/hotspot/share/opto/parse1.cpp
Print this page
*** 522,532 ****
#ifdef ASSERT
if (depth() == 1) {
assert(C->is_osr_compilation() == this->is_osr_parse(), "OSR in sync");
if (C->tf() != tf()) {
! MutexLockerEx ml(Compile_lock, Mutex::_no_safepoint_check_flag);
assert(C->env()->system_dictionary_modification_counter_changed(),
"Must invalidate if TypeFuncs differ");
}
} else {
assert(!this->is_osr_parse(), "no recursive OSR");
--- 522,532 ----
#ifdef ASSERT
if (depth() == 1) {
assert(C->is_osr_compilation() == this->is_osr_parse(), "OSR in sync");
if (C->tf() != tf()) {
! MutexLocker ml(Compile_lock);
assert(C->env()->system_dictionary_modification_counter_changed(),
"Must invalidate if TypeFuncs differ");
}
} else {
assert(!this->is_osr_parse(), "no recursive OSR");
*** 1039,1049 ****
// ret_phi may be top now.
// Otherwise, we've encountered an error and have to mark the method as
// not compilable. Just using an assertion instead would be dangerous
// as this could lead to an infinite compile loop in non-debug builds.
{
! MutexLockerEx ml(Compile_lock, Mutex::_no_safepoint_check_flag);
if (C->env()->system_dictionary_modification_counter_changed()) {
C->record_failure(C2Compiler::retry_class_loading_during_parsing());
} else {
C->record_method_not_compilable("Can't determine return type.");
}
--- 1039,1049 ----
// ret_phi may be top now.
// Otherwise, we've encountered an error and have to mark the method as
// not compilable. Just using an assertion instead would be dangerous
// as this could lead to an infinite compile loop in non-debug builds.
{
! MutexLocker ml(Compile_lock);
if (C->env()->system_dictionary_modification_counter_changed()) {
C->record_failure(C2Compiler::retry_class_loading_during_parsing());
} else {
C->record_method_not_compilable("Can't determine return type.");
}
< prev index next >