RFR(XS): JDK-8040921: Uninitialised memory in hotspot/src/share/vm/c1/c1_LinearScan.cpp

Morris Meyer morris.meyer at oracle.com
Thu Jul 31 16:23:31 UTC 2014


Vladimir,

Sorry about that.  Changes fixed inline.

         --mm

WEBREV - http://cr.openjdk.java.net/~morris/JDK-8040921.08

On 7/31/14, 11:51 AM, Vladimir Kozlov wrote:
> Morris,
>
> You left debug printing in changes.
>
> Vladimir
>
> On 7/31/14 8:48 AM, Morris Meyer wrote:
>> Vladimir,
>>
>> I found that you cannot move the variables and initialization down to 
>> the use, as the cpu_lsw.walk() //
>> IntervalWalker.walk_to() code changes the intervals and causes an 
>> assertion failure in LinearScan::is_sorted().
>>
>> I've commented the code to note that the code cannot be moved down to 
>> where it is used.
>>
>> Thanks,
>>
>> --morris
>>
>> WEBREV - http://cr.openjdk.java.net/~morris/JDK-8040921.08
>> BUG - https://bugs.openjdk.java.net/browse/JDK-8040921
>>
>>
>> On 7/22/14, 6:40 PM, Vladimir Kozlov wrote:
>>> You did not do for fpu registers what Christian said:
>>>
>>> "We should move the variables and initialization down to the use"
>>>
>>> Vladimir
>>>
>>> On 7/22/14 12:46 PM, Morris Meyer wrote:
>>>> Folks,
>>>>
>>>> Could I get a review of this parfait issue. It has been tested through
>>>> JPRT.
>>>>
>>>> Thanks!
>>>>
>>>> --morris
>>>>
>>>> JBS - http://bugs.openjdk.java.net/browse/JDK-8040921
>>>> WEBREV - http://cr.openjdk.java.net/~morris/JDK-8040921.07
>>>>
>>>> On 5/1/14, 9:51 PM, Christian Thalinger wrote:
>>>>>
>>>>> On May 1, 2014, at 8:34 AM, Morris Meyer <morris.meyer at oracle.com
>>>>> <mailto:morris.meyer at oracle.com>> wrote:
>>>>>
>>>>>> The parfait error is with the ASSERT define blocking out
>>>>>> initialization of a the fpu structures when that code path is 
>>>>>> enabled.
>>>>>>
>>>>>> I've removed the ifdef such that both paths initialized their cpu 
>>>>>> and
>>>>>> fpu variables, and the assertion is always checked.
>>>>>
>>>>> But the code path using the uninitialized variables is also under:
>>>>>
>>>>> 1648 if (has_fpu_registers()) {
>>>>>
>>>>> Am I missing something? Anyway, during an earlier internal review I
>>>>> said we should keep the assert; I take that back. We should move the
>>>>> variables and initialization down to the use and remove the assert.
>>>>> It doesn’t have much value anyway.
>>>>>
>>>>>>
>>>>>> --mm
>>>>>>
>>>>>> On 4/30/14, 3:36 PM, Christian Thalinger wrote:
>>>>>>> I don’t understand the Parfait error here. Could you explain?
>>>>>>>
>>>>>>> On Apr 30, 2014, at 7:40 AM, Morris Meyer <morris.meyer at oracle.com
>>>>>>> <mailto:morris.meyer at oracle.com>> wrote:
>>>>>>>
>>>>>>>> Folks,
>>>>>>>>
>>>>>>>> Could I get a review for this Parfait uninitialized variable 
>>>>>>>> issue?
>>>>>>>> This has been tested with JPRT and a clear pass with Parfait.
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>>
>>>>>>>> --mm
>>>>>>>>
>>>>>>>> BUG - https://bugs.openjdk.java.net/browse/JDK-8040921
>>>>>>>> WEBREV - http://cr.openjdk.java.net/~morris/JDK-8040921.05
>>>>>>>> <http://cr.openjdk.java.net/%7Emorris/JDK-8040921.05>
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>
>>>>
>>



More information about the hotspot-compiler-dev mailing list