This commit is contained in:
Tom Rodriguez 2010-02-03 18:33:04 -08:00
commit af0c45705b
3 changed files with 12 additions and 9 deletions

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 1999-2009 Sun Microsystems, Inc. All Rights Reserved. * Copyright 1999-2010 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -1132,7 +1132,7 @@ bool CompileBroker::compilation_is_prohibited(methodHandle method, int osr_bci,
// the specified level // the specified level
if (is_native && if (is_native &&
(!CICompileNatives || !compiler(comp_level)->supports_native())) { (!CICompileNatives || !compiler(comp_level)->supports_native())) {
method->set_not_compilable(); method->set_not_compilable_quietly();
return true; return true;
} }
@ -1156,7 +1156,7 @@ bool CompileBroker::compilation_is_prohibited(methodHandle method, int osr_bci,
method->print_short_name(tty); method->print_short_name(tty);
tty->cr(); tty->cr();
} }
method->set_not_compilable(); method->set_not_compilable_quietly();
} }
return false; return false;
@ -1189,7 +1189,7 @@ uint CompileBroker::assign_compile_id(methodHandle method, int osr_bci) {
} }
// Method was not in the appropriate compilation range. // Method was not in the appropriate compilation range.
method->set_not_compilable(); method->set_not_compilable_quietly();
return 0; return 0;
} }
@ -1590,10 +1590,10 @@ void CompileBroker::invoke_compiler_on_method(CompileTask* task) {
if (is_osr) { if (is_osr) {
method->set_not_osr_compilable(); method->set_not_osr_compilable();
} else { } else {
method->set_not_compilable(); method->set_not_compilable_quietly();
} }
} else if (compilable == ciEnv::MethodCompilable_not_at_tier) { } else if (compilable == ciEnv::MethodCompilable_not_at_tier) {
method->set_not_compilable(task->comp_level()); method->set_not_compilable_quietly(task->comp_level());
} }
// Note that the queued_for_compilation bits are cleared without // Note that the queued_for_compilation bits are cleared without

View File

@ -587,8 +587,8 @@ bool methodOopDesc::is_not_compilable(int comp_level) const {
} }
// call this when compiler finds that this method is not compilable // call this when compiler finds that this method is not compilable
void methodOopDesc::set_not_compilable(int comp_level) { void methodOopDesc::set_not_compilable(int comp_level, bool report) {
if (PrintCompilation) { if (PrintCompilation && report) {
ttyLocker ttyl; ttyLocker ttyl;
tty->print("made not compilable "); tty->print("made not compilable ");
this->print_short_name(tty); this->print_short_name(tty);

View File

@ -596,7 +596,10 @@ class methodOopDesc : public oopDesc {
// whether it is not compilable for another reason like having a // whether it is not compilable for another reason like having a
// breakpoint set in it. // breakpoint set in it.
bool is_not_compilable(int comp_level = CompLevel_highest_tier) const; bool is_not_compilable(int comp_level = CompLevel_highest_tier) const;
void set_not_compilable(int comp_level = CompLevel_highest_tier); void set_not_compilable(int comp_level = CompLevel_highest_tier, bool report = true);
void set_not_compilable_quietly(int comp_level = CompLevel_highest_tier) {
set_not_compilable(comp_level, false);
}
bool is_not_osr_compilable() const { return is_not_compilable() || access_flags().is_not_osr_compilable(); } bool is_not_osr_compilable() const { return is_not_compilable() || access_flags().is_not_osr_compilable(); }
void set_not_osr_compilable() { _access_flags.set_not_osr_compilable(); } void set_not_osr_compilable() { _access_flags.set_not_osr_compilable(); }