src/hotspot/share/compiler/compileBroker.cpp
Index
Unified diffs
Context diffs
Sdiffs
Frames
Patch
New
Old
Previous File
Next File
*** old/src/hotspot/share/compiler/compileBroker.cpp Fri May 31 08:53:25 2019
--- new/src/hotspot/share/compiler/compileBroker.cpp Fri May 31 08:53:25 2019
*** 1240,1250 ****
--- 1240,1250 ----
bool in_base_library;
address adr = NativeLookup::lookup(method, in_base_library, THREAD);
if (HAS_PENDING_EXCEPTION) {
// In case of an exception looking up the method, we just forget
// about it. The interpreter will kick-in and throw the exception.
! method->set_not_compilable("NativeLookup::lookup failed"); // implies is_not_osr_compilable()
CLEAR_PENDING_EXCEPTION;
return NULL;
}
assert(method->has_native_function(), "must have native code by now");
}
*** 1368,1386 ****
--- 1368,1386 ----
bool is_native = method->is_native();
// Some compilers may not support the compilation of natives.
AbstractCompiler *comp = compiler(comp_level);
if (is_native &&
(!CICompileNatives || comp == NULL || !comp->supports_native())) {
! method->set_not_compilable_quietly("native methods not supported", comp_level);
return true;
}
bool is_osr = (osr_bci != standard_entry_bci);
// Some compilers may not support on stack replacement.
if (is_osr &&
(!CICompileOSR || comp == NULL || !comp->supports_osr())) {
! method->set_not_osr_compilable("OSR not supported", comp_level);
return true;
}
// The method may be explicitly excluded by the user.
double scale;
*** 1393,1403 ****
--- 1393,1403 ----
method->is_native() ? "generation of native wrapper" : "compile",
(method->is_static() ? " static" : ""));
method->print_short_name(tty);
tty->cr();
}
! method->set_not_compilable(comp_level, !quietly, "excluded by CompileCommand");
! method->set_not_compilable("excluded by CompileCommand", comp_level, !quietly);
}
return false;
}
*** 1426,1436 ****
--- 1426,1436 ----
return id;
}
}
// Method was not in the appropriate compilation range.
! method->set_not_compilable_quietly("Not in requested compile id range");
return 0;
#else
// CICountOSR is a develop flag and set to 'false' by default. In a product built,
// only _compilation_id is incremented.
return Atomic::add(1, &_compilation_id);
*** 2193,2211 ****
--- 2193,2211 ----
}
// Disable compilation, if required.
switch (compilable) {
case ciEnv::MethodCompilable_never:
if (is_osr)
! method->set_not_osr_compilable_quietly("MethodCompilable_never");
else
! method->set_not_compilable_quietly("MethodCompilable_never");
break;
case ciEnv::MethodCompilable_not_at_tier:
if (is_osr)
! method->set_not_osr_compilable_quietly("MethodCompilable_not_at_tier", task_level);
else
! method->set_not_compilable_quietly("MethodCompilable_not_at_tier", task_level);
break;
}
// Note that the queued_for_compilation bits are cleared without
// protection of a mutex. [They were set by the requester thread,
src/hotspot/share/compiler/compileBroker.cpp
Index
Unified diffs
Context diffs
Sdiffs
Frames
Patch
New
Old
Previous File
Next File