src/share/vm/c1/c1_Compilation.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/c1

src/share/vm/c1/c1_Compilation.cpp

Print this page
rev 6132 : 8032410: compiler/uncommontrap/TestStackBangRbp.java times out on Solaris-Sparc V9
Summary: make compiled code bang the stack by the worst case size of the interpreter frame at deoptimization points.
Reviewed-by:


 529 , _log(env->log())
 530 , _method(method)
 531 , _osr_bci(osr_bci)
 532 , _hir(NULL)
 533 , _max_spills(-1)
 534 , _frame_map(NULL)
 535 , _masm(NULL)
 536 , _has_exception_handlers(false)
 537 , _has_fpu_code(true)   // pessimistic assumption
 538 , _would_profile(false)
 539 , _has_unsafe_access(false)
 540 , _has_method_handle_invokes(false)
 541 , _bailout_msg(NULL)
 542 , _exception_info_list(NULL)
 543 , _allocator(NULL)
 544 , _next_id(0)
 545 , _next_block_id(0)
 546 , _code(buffer_blob)
 547 , _has_access_indexed(false)
 548 , _current_instruction(NULL)

 549 #ifndef PRODUCT
 550 , _last_instruction_printed(NULL)
 551 #endif // PRODUCT
 552 {
 553   PhaseTraceTime timeit(_t_compile);
 554   _arena = Thread::current()->resource_area();
 555   _env->set_compiler_data(this);
 556   _exception_info_list = new ExceptionInfoList();
 557   _implicit_exception_table.set_size(0);
 558   compile_method();
 559   if (bailed_out()) {
 560     _env->record_method_not_compilable(bailout_msg(), !TieredCompilation);
 561     if (is_profiling()) {
 562       // Compilation failed, create MDO, which would signal the interpreter
 563       // to start profiling on its own.
 564       _method->ensure_method_data();
 565     }
 566   } else if (is_profiling()) {
 567     ciMethodData *md = method->method_data_or_null();
 568     if (md != NULL) {




 529 , _log(env->log())
 530 , _method(method)
 531 , _osr_bci(osr_bci)
 532 , _hir(NULL)
 533 , _max_spills(-1)
 534 , _frame_map(NULL)
 535 , _masm(NULL)
 536 , _has_exception_handlers(false)
 537 , _has_fpu_code(true)   // pessimistic assumption
 538 , _would_profile(false)
 539 , _has_unsafe_access(false)
 540 , _has_method_handle_invokes(false)
 541 , _bailout_msg(NULL)
 542 , _exception_info_list(NULL)
 543 , _allocator(NULL)
 544 , _next_id(0)
 545 , _next_block_id(0)
 546 , _code(buffer_blob)
 547 , _has_access_indexed(false)
 548 , _current_instruction(NULL)
 549 , _interpreter_frame_size(0)
 550 #ifndef PRODUCT
 551 , _last_instruction_printed(NULL)
 552 #endif // PRODUCT
 553 {
 554   PhaseTraceTime timeit(_t_compile);
 555   _arena = Thread::current()->resource_area();
 556   _env->set_compiler_data(this);
 557   _exception_info_list = new ExceptionInfoList();
 558   _implicit_exception_table.set_size(0);
 559   compile_method();
 560   if (bailed_out()) {
 561     _env->record_method_not_compilable(bailout_msg(), !TieredCompilation);
 562     if (is_profiling()) {
 563       // Compilation failed, create MDO, which would signal the interpreter
 564       // to start profiling on its own.
 565       _method->ensure_method_data();
 566     }
 567   } else if (is_profiling()) {
 568     ciMethodData *md = method->method_data_or_null();
 569     if (md != NULL) {


src/share/vm/c1/c1_Compilation.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File