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

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Jul 31 16:43:53 UTC 2014


Good.

Thanks,
vladimir

On 7/31/14 9:23 AM, Morris Meyer wrote:
> 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