RFR (XS): 8213525: new unit test GetLocalVariable/LocalVars is not stable

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Tue Nov 13 18:58:00 UTC 2018


Thanks a lot, Chris!
Serguei

On 11/13/18 10:55 AM, Chris Plummer wrote:
> Hi Serguei,
>
> Changes look good.
>
> Chris
>
> On 11/12/18 8:06 PM, serguei.spitsyn at oracle.com wrote:
>> On 11/12/18 20:05, serguei.spitsyn at oracle.com wrote:
>>> Hi Jc,
>>>
>>>
>>> Thank you a lot for reviewing!
>>>
>>> On 11/12/18 09:35, JC Beyler wrote:
>>>> Hi Serguei,
>>>>
>>>> The fix looks good (though I never like commented out code, why do 
>>>> we not just remove the lines and add a simple comment: "Due to 
>>>> JDK-8213525, we do not test X,Y, and Z because of stability isssues").
>>>
>>> I also normally do not like commented out code.
>>> In this particular case, I considered commented out lines as part of 
>>> comment.
>>> They explain what is removed better than any words. :)
>>>
>>> Okay, I've removed these lines with the comment.
>>
>> Forgot to tell that I've updated the same webrev:
>> http://cr.openjdk.java.net/~sspitsyn/webrevs/2018/8213525-unstable-test.1/ 
>> <http://cr.openjdk.java.net/%7Esspitsyn/webrevs/2018/8213525-unstable-test.1/>
>>
>>
>> Thanks,
>> Serguei
>>
>>>> But the underlying question I have that is not really explained is 
>>>> : "why is it failing?"; is the spec not specific in these cases? is 
>>>> it a bug in the compiler/runtime that is not yet fixed to conform 
>>>> to the spec? I ask because I would imagine that it might be 
>>>> something we would like to fix, no?
>>>
>>> No.
>>> There is no information from the JIT compiler to return errors when 
>>> the LVT is absent.
>>> Moreover, different compilers, modes or tiers differently represent 
>>> local values that are out of scope.
>>>
>>> Thanks,
>>> Serguei
>>>
>>>>
>>>> Thanks,
>>>> Jc
>>>>
>>>>
>>>>
>>>> On Mon, Nov 12, 2018 at 2:25 AM serguei.spitsyn at oracle.com 
>>>> <mailto:serguei.spitsyn at oracle.com> <serguei.spitsyn at oracle.com 
>>>> <mailto:serguei.spitsyn at oracle.com>> wrote:
>>>>
>>>>     Please, review a fix for:
>>>>     https://bugs.openjdk.java.net/browse/JDK-8213525
>>>>
>>>>     Webrev:
>>>>     http://cr.openjdk.java.net/~sspitsyn/webrevs/2018/8213525-unstable-test.1/
>>>>     <http://cr.openjdk.java.net/%7Esspitsyn/webrevs/2018/8213525-unstable-test.1/>
>>>>
>>>>
>>>>     Summary:
>>>>       A couple of the checks in new unit test developed for
>>>>     JDK-8080406 <https://bugs.openjdk.java.net/browse/JDK-8080406>
>>>>     is not stable.
>>>>       It is expected that the type of the local intLoc returned by
>>>>     the StackValueCollection has
>>>>       to be T_CONFLICT as it is out of scope at the point where the
>>>>     testLocals() is called:
>>>>
>>>>     int staticMeth(byte byteArg, Object objArg, double dblArg, int
>>>>     intArg) {
>>>>     testLocals(Thread.currentThread());
>>>>     {
>>>>     int intLoc = 9999;
>>>>     intArg = intLoc;
>>>>     }
>>>>     return intArg;
>>>>     } But sometimes the type T_INT is returned instead of
>>>>     T_CONFLICT. The fix is to disable the checks that can fail
>>>>     because of it. Thanks, Serguei
>>>>
>>>>
>>>>
>>>> -- 
>>>>
>>>> Thanks,
>>>> Jc
>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20181113/e7efa6ed/attachment.html>


More information about the serviceability-dev mailing list