< prev index next >

src/share/vm/c1/c1_Compilation.cpp

Print this page




 546 , _max_spills(-1)
 547 , _frame_map(NULL)
 548 , _masm(NULL)
 549 , _has_exception_handlers(false)
 550 , _has_fpu_code(true)   // pessimistic assumption
 551 , _would_profile(false)
 552 , _has_unsafe_access(false)
 553 , _has_method_handle_invokes(false)
 554 , _has_reserved_stack_access(method->has_reserved_stack_access())
 555 , _bailout_msg(NULL)
 556 , _exception_info_list(NULL)
 557 , _allocator(NULL)
 558 , _next_id(0)
 559 , _next_block_id(0)
 560 , _code(buffer_blob)
 561 , _has_access_indexed(false)
 562 , _current_instruction(NULL)
 563 , _interpreter_frame_size(0)
 564 #ifndef PRODUCT
 565 , _last_instruction_printed(NULL)

 566 #endif // PRODUCT
 567 {
 568   PhaseTraceTime timeit(_t_compile);
 569   _arena = Thread::current()->resource_area();
 570   _env->set_compiler_data(this);
 571   _exception_info_list = new ExceptionInfoList();
 572   _implicit_exception_table.set_size(0);





 573   compile_method();
 574   if (bailed_out()) {
 575     _env->record_method_not_compilable(bailout_msg(), !TieredCompilation);
 576     if (is_profiling()) {
 577       // Compilation failed, create MDO, which would signal the interpreter
 578       // to start profiling on its own.
 579       _method->ensure_method_data();
 580     }
 581   } else if (is_profiling()) {
 582     ciMethodData *md = method->method_data_or_null();
 583     if (md != NULL) {
 584       md->set_would_profile(_would_profile);
 585     }
 586   }
 587 }
 588 
 589 Compilation::~Compilation() {
 590   _env->set_compiler_data(NULL);
 591 }
 592 




 546 , _max_spills(-1)
 547 , _frame_map(NULL)
 548 , _masm(NULL)
 549 , _has_exception_handlers(false)
 550 , _has_fpu_code(true)   // pessimistic assumption
 551 , _would_profile(false)
 552 , _has_unsafe_access(false)
 553 , _has_method_handle_invokes(false)
 554 , _has_reserved_stack_access(method->has_reserved_stack_access())
 555 , _bailout_msg(NULL)
 556 , _exception_info_list(NULL)
 557 , _allocator(NULL)
 558 , _next_id(0)
 559 , _next_block_id(0)
 560 , _code(buffer_blob)
 561 , _has_access_indexed(false)
 562 , _current_instruction(NULL)
 563 , _interpreter_frame_size(0)
 564 #ifndef PRODUCT
 565 , _last_instruction_printed(NULL)
 566 , _cfg_printer_output(NULL)
 567 #endif // PRODUCT
 568 {
 569   PhaseTraceTime timeit(_t_compile);
 570   _arena = Thread::current()->resource_area();
 571   _env->set_compiler_data(this);
 572   _exception_info_list = new ExceptionInfoList();
 573   _implicit_exception_table.set_size(0);
 574 #ifndef PRODUCT
 575   if (PrintCFGToFile) {
 576     _cfg_printer_output = new CFGPrinterOutput(this);
 577   }
 578 #endif
 579   compile_method();
 580   if (bailed_out()) {
 581     _env->record_method_not_compilable(bailout_msg(), !TieredCompilation);
 582     if (is_profiling()) {
 583       // Compilation failed, create MDO, which would signal the interpreter
 584       // to start profiling on its own.
 585       _method->ensure_method_data();
 586     }
 587   } else if (is_profiling()) {
 588     ciMethodData *md = method->method_data_or_null();
 589     if (md != NULL) {
 590       md->set_would_profile(_would_profile);
 591     }
 592   }
 593 }
 594 
 595 Compilation::~Compilation() {
 596   _env->set_compiler_data(NULL);
 597 }
 598 


< prev index next >