equal
deleted
inserted
replaced
101 _number_of_frames = number_of_frames; |
101 _number_of_frames = number_of_frames; |
102 _frame_sizes = frame_sizes; |
102 _frame_sizes = frame_sizes; |
103 _frame_pcs = frame_pcs; |
103 _frame_pcs = frame_pcs; |
104 _register_block = NEW_C_HEAP_ARRAY(intptr_t, RegisterMap::reg_count * 2); |
104 _register_block = NEW_C_HEAP_ARRAY(intptr_t, RegisterMap::reg_count * 2); |
105 _return_type = return_type; |
105 _return_type = return_type; |
106 _initial_fp = 0; |
106 _initial_info = 0; |
107 // PD (x86 only) |
107 // PD (x86 only) |
108 _counter_temp = 0; |
108 _counter_temp = 0; |
109 _unpack_kind = 0; |
109 _unpack_kind = 0; |
110 _sender_sp_temp = 0; |
110 _sender_sp_temp = 0; |
111 |
111 |
484 caller_actual_parameters, |
484 caller_actual_parameters, |
485 number_of_frames, |
485 number_of_frames, |
486 frame_sizes, |
486 frame_sizes, |
487 frame_pcs, |
487 frame_pcs, |
488 return_type); |
488 return_type); |
489 // On some platforms, we need a way to pass fp to the unpacking code |
489 // On some platforms, we need a way to pass some platform dependent |
490 // so the skeletal frames come out correct. |
490 // information to the unpacking code so the skeletal frames come out |
491 info->set_initial_fp((intptr_t) array->sender().fp()); |
491 // correct (initial fp value, unextended sp, ...) |
|
492 info->set_initial_info((intptr_t) array->sender().initial_deoptimization_info()); |
492 |
493 |
493 if (array->frames() > 1) { |
494 if (array->frames() > 1) { |
494 if (VerifyStack && TraceDeoptimization) { |
495 if (VerifyStack && TraceDeoptimization) { |
495 tty->print_cr("Deoptimizing method containing inlining"); |
496 tty->print_cr("Deoptimizing method containing inlining"); |
496 } |
497 } |