115 |
115 |
116 void C2Compiler::compile_method(ciEnv* env, ciMethod* target, int entry_bci) { |
116 void C2Compiler::compile_method(ciEnv* env, ciMethod* target, int entry_bci) { |
117 assert(is_initialized(), "Compiler thread must be initialized"); |
117 assert(is_initialized(), "Compiler thread must be initialized"); |
118 |
118 |
119 bool subsume_loads = SubsumeLoads; |
119 bool subsume_loads = SubsumeLoads; |
120 bool do_escape_analysis = DoEscapeAnalysis && !env->jvmti_can_access_local_variables(); |
120 bool do_escape_analysis = DoEscapeAnalysis && !env->should_retain_local_variables(); |
121 bool eliminate_boxing = EliminateAutoBox; |
121 bool eliminate_boxing = EliminateAutoBox; |
122 while (!env->failing()) { |
122 while (!env->failing()) { |
123 // Attempt to compile while subsuming loads into machine instructions. |
123 // Attempt to compile while subsuming loads into machine instructions. |
124 Compile C(env, this, target, entry_bci, subsume_loads, do_escape_analysis, eliminate_boxing); |
124 Compile C(env, this, target, entry_bci, subsume_loads, do_escape_analysis, eliminate_boxing); |
125 |
125 |