Request for review (S): 6589834 deoptimization problem with -XX:+DeoptimizeALot

Changpeng Fang Changpeng.Fang at Sun.COM
Thu Apr 23 13:33:57 PDT 2009

Thanks, Vladimir:

I have updated following your comment. The updated webrev is:


On 04/22/09 15:42, Vladimir Kozlov wrote:
> For multianewarray passing ndimensions parameter is incorrect since
> it is decremented for recursive calls. You have to add an additional
> parameter (nargs ?) for expand_multianewarray() to pass original
> ndimensions values to all recursive calls.
> Vladimir
> Changpeng Fang wrote:
>> Problem Summary: For  new_array allocation in inlining intrinsics,  
>> the arguments should to pushed
>> back to the stack (through stack pointer adjustment) when an 
>> uncommon_trap is actually inserted.
>> However, in functions like inline_native_clone, the stack pointer 
>> adjustment was performed too early
>> (before new_array allocation), and if a deoptimization is triggered 
>> on the slow path allocation, the control
>> will be transferred to the interpreter with an incorrect interpreter 
>> stack.
>> Proposed Solution: Adjust the stack pointer only when uncommon_trap 
>> is actually inserted.
>> Tests: passed with JPRT and the test cases attached to the CR 6589834.
>> Thanks,
>> Changpeng

More information about the hotspot-compiler-dev mailing list