Mercurial > hg > truffle
comparison src/share/vm/interpreter/interpreterRuntime.cpp @ 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 | d83ac25d0304 |
children | fdb992d83a87 |
comparison
equal
deleted
inserted
replaced
3790:6f6e91603a45 | 3791:2c359f27615c |
---|---|
842 assert(fr.is_interpreted_frame(), "must come from interpreter"); | 842 assert(fr.is_interpreted_frame(), "must come from interpreter"); |
843 methodHandle method(thread, fr.interpreter_frame_method()); | 843 methodHandle method(thread, fr.interpreter_frame_method()); |
844 const int branch_bci = branch_bcp != NULL ? method->bci_from(branch_bcp) : InvocationEntryBci; | 844 const int branch_bci = branch_bcp != NULL ? method->bci_from(branch_bcp) : InvocationEntryBci; |
845 const int bci = branch_bcp != NULL ? method->bci_from(fr.interpreter_frame_bcp()) : InvocationEntryBci; | 845 const int bci = branch_bcp != NULL ? method->bci_from(fr.interpreter_frame_bcp()) : InvocationEntryBci; |
846 | 846 |
847 nmethod* osr_nm = CompilationPolicy::policy()->event(method, method, branch_bci, bci, CompLevel_none, thread); | 847 nmethod* osr_nm = CompilationPolicy::policy()->event(method, method, branch_bci, bci, CompLevel_none, NULL, thread); |
848 | 848 |
849 if (osr_nm != NULL) { | 849 if (osr_nm != NULL) { |
850 // We may need to do on-stack replacement which requires that no | 850 // We may need to do on-stack replacement which requires that no |
851 // monitors in the activation are biased because their | 851 // monitors in the activation are biased because their |
852 // BasicObjectLocks will need to migrate during OSR. Force | 852 // BasicObjectLocks will need to migrate during OSR. Force |