src/share/vm/runtime/deoptimization.cpp

changeset 3130
5432047c7db7
parent 2901
3d2ab563047a
child 3238
b20d64f83668
equal deleted inserted replaced
3129:da6a29fb0da5 3130:5432047c7db7
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 }

mercurial