Request for review (S): 6589834 deoptimization problem with -XX:+DeoptimizeALot
Vladimir Kozlov
Vladimir.Kozlov at Sun.COM
Thu Apr 23 13:37:41 PDT 2009
Looks good
Vladimir
Changpeng Fang wrote:
> 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