mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 14:54:52 +02:00
7200001: failed C1 OSR compile doesn't get recompiled with C2
Reviewed-by: kvn
This commit is contained in:
parent
913a550c76
commit
0bae010a3b
10 changed files with 183 additions and 131 deletions
|
@ -745,19 +745,30 @@ class Method : public Metadata {
|
|||
// Indicates whether compilation failed earlier for this method, or
|
||||
// whether it is not compilable for another reason like having a
|
||||
// breakpoint set in it.
|
||||
bool is_not_compilable(int comp_level = CompLevel_any) const;
|
||||
bool is_not_compilable(int comp_level = CompLevel_any) const;
|
||||
void set_not_compilable(int comp_level = CompLevel_all, bool report = true);
|
||||
void set_not_compilable_quietly(int comp_level = CompLevel_all) {
|
||||
set_not_compilable(comp_level, false);
|
||||
}
|
||||
bool is_not_osr_compilable(int comp_level = CompLevel_any) const {
|
||||
return is_not_compilable(comp_level) || access_flags().is_not_osr_compilable();
|
||||
bool is_not_osr_compilable(int comp_level = CompLevel_any) const;
|
||||
void set_not_osr_compilable(int comp_level = CompLevel_all, bool report = true);
|
||||
void set_not_osr_compilable_quietly(int comp_level = CompLevel_all) {
|
||||
set_not_osr_compilable(comp_level, false);
|
||||
}
|
||||
void set_not_osr_compilable() { _access_flags.set_not_osr_compilable(); }
|
||||
bool is_not_c1_compilable() const { return access_flags().is_not_c1_compilable(); }
|
||||
void set_not_c1_compilable() { _access_flags.set_not_c1_compilable(); }
|
||||
bool is_not_c2_compilable() const { return access_flags().is_not_c2_compilable(); }
|
||||
void set_not_c2_compilable() { _access_flags.set_not_c2_compilable(); }
|
||||
|
||||
private:
|
||||
void print_made_not_compilable(int comp_level, bool is_osr, bool report);
|
||||
|
||||
public:
|
||||
bool is_not_c1_compilable() const { return access_flags().is_not_c1_compilable(); }
|
||||
void set_not_c1_compilable() { _access_flags.set_not_c1_compilable(); }
|
||||
bool is_not_c2_compilable() const { return access_flags().is_not_c2_compilable(); }
|
||||
void set_not_c2_compilable() { _access_flags.set_not_c2_compilable(); }
|
||||
|
||||
bool is_not_c1_osr_compilable() const { return is_not_c1_compilable(); } // don't waste an accessFlags bit
|
||||
void set_not_c1_osr_compilable() { set_not_c1_compilable(); } // don't waste an accessFlags bit
|
||||
bool is_not_c2_osr_compilable() const { return access_flags().is_not_c2_osr_compilable(); }
|
||||
void set_not_c2_osr_compilable() { _access_flags.set_not_c2_osr_compilable(); }
|
||||
|
||||
// Background compilation support
|
||||
bool queued_for_compilation() const { return access_flags().queued_for_compilation(); }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue