mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 11:34:38 +02:00
7057120: Tiered: Allow C1 to inline methods with loops
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
This commit is contained in:
parent
528a9bb452
commit
47caaa4c06
11 changed files with 128 additions and 50 deletions
|
@ -62,7 +62,7 @@ public:
|
|||
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 @@ public:
|
|||
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 @@ public:
|
|||
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;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue