mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-22 03:54:33 +02:00
6953144: Tiered compilation
Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation. Reviewed-by: kvn, never, phh, twisti
This commit is contained in:
parent
6e78f6cb4b
commit
2c66a6c3fd
104 changed files with 7720 additions and 1701 deletions
|
@ -956,18 +956,18 @@ void ciEnv::register_method(ciMethod* target,
|
|||
if (task() != NULL) task()->set_code(nm);
|
||||
|
||||
if (entry_bci == InvocationEntryBci) {
|
||||
#ifdef TIERED
|
||||
// If there is an old version we're done with it
|
||||
nmethod* old = method->code();
|
||||
if (TraceMethodReplacement && old != NULL) {
|
||||
ResourceMark rm;
|
||||
char *method_name = method->name_and_sig_as_C_string();
|
||||
tty->print_cr("Replacing method %s", method_name);
|
||||
if (TieredCompilation) {
|
||||
// If there is an old version we're done with it
|
||||
nmethod* old = method->code();
|
||||
if (TraceMethodReplacement && old != NULL) {
|
||||
ResourceMark rm;
|
||||
char *method_name = method->name_and_sig_as_C_string();
|
||||
tty->print_cr("Replacing method %s", method_name);
|
||||
}
|
||||
if (old != NULL ) {
|
||||
old->make_not_entrant();
|
||||
}
|
||||
}
|
||||
if (old != NULL ) {
|
||||
old->make_not_entrant();
|
||||
}
|
||||
#endif // TIERED
|
||||
if (TraceNMethodInstalls ) {
|
||||
ResourceMark rm;
|
||||
char *method_name = method->name_and_sig_as_C_string();
|
||||
|
@ -1011,7 +1011,7 @@ ciKlass* ciEnv::find_system_klass(ciSymbol* klass_name) {
|
|||
// ------------------------------------------------------------------
|
||||
// ciEnv::comp_level
|
||||
int ciEnv::comp_level() {
|
||||
if (task() == NULL) return CompLevel_full_optimization;
|
||||
if (task() == NULL) return CompLevel_highest_tier;
|
||||
return task()->comp_level();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue