317 // This can happen if the method is obsolete or breakpointed. |
317 // This can happen if the method is obsolete or breakpointed. |
318 bailout("Bailing out because method is not compilable"); |
318 bailout("Bailing out because method is not compilable"); |
319 return; |
319 return; |
320 } |
320 } |
321 |
321 |
322 if (JvmtiExport::can_hotswap_or_post_breakpoint()) { |
322 if (_env->jvmti_can_hotswap_or_post_breakpoint()) { |
323 // We can assert evol_method because method->can_be_compiled is true. |
323 // We can assert evol_method because method->can_be_compiled is true. |
324 dependency_recorder()->assert_evol_method(method()); |
324 dependency_recorder()->assert_evol_method(method()); |
325 } |
325 } |
326 |
326 |
327 if (method()->break_at_execute()) { |
327 if (method()->break_at_execute()) { |
433 PhaseTraceTime timeit(_t_compile); |
433 PhaseTraceTime timeit(_t_compile); |
434 |
434 |
435 assert(_arena == NULL, "shouldn't only one instance of Compilation in existence at a time"); |
435 assert(_arena == NULL, "shouldn't only one instance of Compilation in existence at a time"); |
436 _arena = Thread::current()->resource_area(); |
436 _arena = Thread::current()->resource_area(); |
437 _compilation = this; |
437 _compilation = this; |
438 _needs_debug_information = JvmtiExport::can_examine_or_deopt_anywhere() || |
438 _needs_debug_information = _env->jvmti_can_examine_or_deopt_anywhere() || |
439 JavaMonitorsInStackTrace || AlwaysEmitDebugInfo || DeoptimizeALot; |
439 JavaMonitorsInStackTrace || AlwaysEmitDebugInfo || DeoptimizeALot; |
440 _exception_info_list = new ExceptionInfoList(); |
440 _exception_info_list = new ExceptionInfoList(); |
441 _implicit_exception_table.set_size(0); |
441 _implicit_exception_table.set_size(0); |
442 compile_method(); |
442 compile_method(); |
443 } |
443 } |