Mercurial > hg > truffle
diff src/share/vm/runtime/compilationPolicy.hpp @ 3791:2c359f27615c
7057120: Tiered: Allow C1 to inline methods with loops
Summary: Recompile the enclosing methods without inlining of the method that has OSRed to level 4 or recompile the enclosing method at level 4.
Reviewed-by: kvn, never
author | iveresov |
---|---|
date | Fri, 01 Jul 2011 10:37:37 -0700 |
parents | f95d63e2154a |
children | 43f9d800f276 |
line wrap: on
line diff
--- a/src/share/vm/runtime/compilationPolicy.hpp Fri Jul 01 10:35:54 2011 -0700 +++ b/src/share/vm/runtime/compilationPolicy.hpp Fri Jul 01 10:37:37 2011 -0700 @@ -62,7 +62,7 @@ virtual int compiler_count(CompLevel comp_level) = 0; // main notification entry, return a pointer to an nmethod if the OSR is required, // returns NULL otherwise. - virtual nmethod* event(methodHandle method, methodHandle inlinee, int branch_bci, int bci, CompLevel comp_level, TRAPS) = 0; + virtual nmethod* event(methodHandle method, methodHandle inlinee, int branch_bci, int bci, CompLevel comp_level, nmethod* nm, TRAPS) = 0; // safepoint() is called at the end of the safepoint virtual void do_safepoint_work() = 0; // reprofile request @@ -80,6 +80,7 @@ virtual bool is_mature(methodOop method) = 0; // Do policy initialization virtual void initialize() = 0; + virtual bool should_not_inline(ciEnv* env, ciMethod* method) { return false; } }; // A base class for baseline policies. @@ -101,7 +102,7 @@ virtual bool is_mature(methodOop method); virtual void initialize(); virtual CompileTask* select_task(CompileQueue* compile_queue); - virtual nmethod* event(methodHandle method, methodHandle inlinee, int branch_bci, int bci, CompLevel comp_level, TRAPS); + virtual nmethod* event(methodHandle method, methodHandle inlinee, int branch_bci, int bci, CompLevel comp_level, nmethod* nm, TRAPS); virtual void method_invocation_event(methodHandle m, TRAPS) = 0; virtual void method_back_branch_event(methodHandle m, int bci, TRAPS) = 0; };