532 }
533 }
534
535
536 Compilation::Compilation(AbstractCompiler* compiler, ciEnv* env, ciMethod* method,
537 int osr_bci, BufferBlob* buffer_blob)
538 : _compiler(compiler)
539 , _env(env)
540 , _log(env->log())
541 , _method(method)
542 , _osr_bci(osr_bci)
543 , _hir(NULL)
544 , _max_spills(-1)
545 , _frame_map(NULL)
546 , _masm(NULL)
547 , _has_exception_handlers(false)
548 , _has_fpu_code(true) // pessimistic assumption
549 , _would_profile(false)
550 , _has_unsafe_access(false)
551 , _has_method_handle_invokes(false)
552 , _bailout_msg(NULL)
553 , _exception_info_list(NULL)
554 , _allocator(NULL)
555 , _next_id(0)
556 , _next_block_id(0)
557 , _code(buffer_blob)
558 , _has_access_indexed(false)
559 , _current_instruction(NULL)
560 , _interpreter_frame_size(0)
561 #ifndef PRODUCT
562 , _last_instruction_printed(NULL)
563 #endif // PRODUCT
564 {
565 PhaseTraceTime timeit(_t_compile);
566 _arena = Thread::current()->resource_area();
567 _env->set_compiler_data(this);
568 _exception_info_list = new ExceptionInfoList();
569 _implicit_exception_table.set_size(0);
570 compile_method();
571 if (bailed_out()) {
|
532 }
533 }
534
535
536 Compilation::Compilation(AbstractCompiler* compiler, ciEnv* env, ciMethod* method,
537 int osr_bci, BufferBlob* buffer_blob)
538 : _compiler(compiler)
539 , _env(env)
540 , _log(env->log())
541 , _method(method)
542 , _osr_bci(osr_bci)
543 , _hir(NULL)
544 , _max_spills(-1)
545 , _frame_map(NULL)
546 , _masm(NULL)
547 , _has_exception_handlers(false)
548 , _has_fpu_code(true) // pessimistic assumption
549 , _would_profile(false)
550 , _has_unsafe_access(false)
551 , _has_method_handle_invokes(false)
552 , _has_reserved_stack_access(method->has_reserved_stack_access())
553 , _bailout_msg(NULL)
554 , _exception_info_list(NULL)
555 , _allocator(NULL)
556 , _next_id(0)
557 , _next_block_id(0)
558 , _code(buffer_blob)
559 , _has_access_indexed(false)
560 , _current_instruction(NULL)
561 , _interpreter_frame_size(0)
562 #ifndef PRODUCT
563 , _last_instruction_printed(NULL)
564 #endif // PRODUCT
565 {
566 PhaseTraceTime timeit(_t_compile);
567 _arena = Thread::current()->resource_area();
568 _env->set_compiler_data(this);
569 _exception_info_list = new ExceptionInfoList();
570 _implicit_exception_table.set_size(0);
571 compile_method();
572 if (bailed_out()) {
|