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:
http://cr.openjdk.java.net/~cfang/6589834/webrev.01/
Changpeng
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:
>> http://cr.openjdk.java.net/~cfang/6589834/webrev.00/
>>
>> 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