Mercurial > hg > truffle
diff src/share/vm/oops/method.hpp @ 6800:9191895df19d
7200001: failed C1 OSR compile doesn't get recompiled with C2
Reviewed-by: kvn
author | twisti |
---|---|
date | Mon, 24 Sep 2012 17:59:24 -0700 |
parents | fa6e618671d7 |
children | 4735d2c84362 |
line wrap: on
line diff
--- a/src/share/vm/oops/method.hpp Mon Sep 24 14:46:06 2012 -0700 +++ b/src/share/vm/oops/method.hpp Mon Sep 24 17:59:24 2012 -0700 @@ -745,19 +745,30 @@ // 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(); }