RFR(M): 8166140: C1: Possible integer overflow in LIRGenerator::generate_address on several platforms
Doerr, Martin
martin.doerr at sap.com
Tue Sep 27 08:19:01 UTC 2016
Hi Vladimir,
thank you very much for your support.
Best regards,
Martin
-----Original Message-----
From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com]
Sent: Montag, 26. September 2016 18:15
To: Doerr, Martin <martin.doerr at sap.com>; hotspot-compiler-dev at openjdk.java.net
Subject: Re: RFR(M): 8166140: C1: Possible integer overflow in LIRGenerator::generate_address on several platforms
Sent to JPRT.
Vladimir
On 9/26/16 2:27 AM, Doerr, Martin wrote:
> Hi,
>
> can somebody sponsor this C1 bug fix, please?
> It has already one review.
>
> Thanks and best regards,
> Martin
>
>
> -----Original Message-----
> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com]
> Sent: Montag, 19. September 2016 19:10
> To: Doerr, Martin <martin.doerr at sap.com>; hotspot-compiler-dev at openjdk.java.net
> Subject: Re: RFR(M): 8166140: C1: Possible integer overflow in LIRGenerator::generate_address on several platforms
>
> This looks good.
>
> Thanks,
> Vladimir
>
> On 9/19/16 6:47 AM, Doerr, Martin wrote:
>> Hi Vladimir,
>>
>> you're right. I have fixed that too in the new webrev:
>> http://cr.openjdk.java.net/~mdoerr/8166140_C1_int_overflow/webrev.01/
>>
>> The 2 LIR_Address constructors you have mentioned don't have many users. The other ones look ok.
>>
>> Thanks and best regards,
>> Martin
>>
>> -----Original Message-----
>> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com]
>> Sent: Donnerstag, 15. September 2016 20:06
>> To: hotspot-compiler-dev at openjdk.java.net
>> Cc: Doerr, Martin <martin.doerr at sap.com>
>> Subject: Re: RFR(M): 8166140: C1: Possible integer overflow in LIRGenerator::generate_address on several platforms
>>
>> Good but is is not enough.
>>
>> emit_array_address() in c1_LIRGenerator_x86.cpp has the same problem.
>> I would suggest to look on all places where next methods are called and make sure they are correct:
>>
>> LIR_Address(LIR_Opr base, intx disp, BasicType type)
>> LIR_Address(LIR_Opr base, LIR_Opr index, Scale scale, intx disp, BasicType type)
>>
>> Thanks,
>> Vladimir
>>
>> On 9/15/16 8:25 AM, Doerr, Martin wrote:
>>> Hi,
>>>
>>>
>>>
>>> as discussed with Vladimir, C1 contains code to simplify constant index/displacement addressing which uses int. However,
>>> int may overflow on 64 bit platforms.
>>>
>>>
>>>
>>> Please review the following webrev:
>>>
>>> http://cr.openjdk.java.net/~mdoerr/8166140_C1_int_overflow/webrev.00/
>>>
>>>
>>>
>>> I'll also need a sponsor, please.
>>>
>>>
>>>
>>> Thanks and best regards,
>>>
>>> Martin
>>>
>>>
>>>
More information about the hotspot-compiler-dev
mailing list