Request for review: 7011490 Wrong computation results in Test6880034
Tom Rodriguez
tom.rodriguez at oracle.com
Thu Mar 10 10:33:23 PST 2011
On Mar 10, 2011, at 10:16 AM, Vladimir Danushevsky wrote:
>
> On Mar 10, 2011, at 12:31 PM, Tom Rodriguez wrote:
>
>>
>> On Mar 10, 2011, at 9:21 AM, Vladimir Danushevsky wrote:
>>
>>> http://cr.openjdk.java.net/~vladidan/7011490/webrev.00/
>>>
>>> LinearScan::append_scope_value_for_operand() appends high and low registers of the double operand based on big endianess. On ARM platform (little endian) that causes shift in the registers allocation when copied to an expression stack during c2i deoptimization.
>>> x86 (being a LE) uses stack slot for a double op, therefore it's not affected.
>>
>> Are you saying that x86 doesn't use this path? That doesn't seem right to me.
>
> x86 uses the path but opr->fpu_regnrLo() = opr->fpu_regnrHi, therefore no difference in behavior for that architecture.
I read through it but missed that. Looks good then, though you might correct the x86 comment:
assert(opr->fpu_regnrLo() == opr->fpu_regnrHi(), "assumed in calculation (only fpu_regnrHi is used)");
tom
>
> Thanks,
> Vlad
>>
>>
>>> I want to make sure Zero target is not broken by that change as it could be built little endian as well. Could anyone comment on that please?
>>
>> Zero doesn't use our compilers so it can't be effected.
>>
>> tom
>>
>>>
>>> Thanks,
>>> Vlad
>>>
>>>
>>
>
More information about the hotspot-dev
mailing list