comparison src/share/vm/runtime/deoptimization.cpp @ 8727:0094485b46c7

8009761: Deoptimization on sparc doesn't set Llast_SP correctly in the interpreter frames it creates Summary: deoptimization doesn't set up callee frames so that they restore caller frames correctly. Reviewed-by: kvn
author roland
date Wed, 13 Mar 2013 09:44:45 +0100
parents 6a51fc70a15e
children b9a918201d47 28e5aed7f3a6 d2907f74462e
comparison
equal deleted inserted replaced
8708:8196357e95b5 8727:0094485b46c7
423 } 423 }
424 frame_sizes[number_of_frames - 1 - index] = BytesPerWord * array->element(index)->on_stack_size(caller_parms, 424 frame_sizes[number_of_frames - 1 - index] = BytesPerWord * array->element(index)->on_stack_size(caller_parms,
425 callee_parameters, 425 callee_parameters,
426 callee_locals, 426 callee_locals,
427 index == 0, 427 index == 0,
428 index == array->frames() - 1,
428 popframe_extra_args); 429 popframe_extra_args);
429 // This pc doesn't have to be perfect just good enough to identify the frame 430 // This pc doesn't have to be perfect just good enough to identify the frame
430 // as interpreted so the skeleton frame will be walkable 431 // as interpreted so the skeleton frame will be walkable
431 // The correct pc will be set when the skeleton frame is completely filled out 432 // The correct pc will be set when the skeleton frame is completely filled out
432 // The final pc we store in the loop is wrong and will be overwritten below 433 // The final pc we store in the loop is wrong and will be overwritten below