RFR: 6811960: Improper register reuse in biased_locking_enter has been fixed.
Vladimir Kozlov
vladimir.kozlov at oracle.com
Wed May 13 20:38:43 UTC 2015
And I verified that all other paths do not pass noreg.
Looks good.
Thanks,
Vladimir
On 5/13/15 12:54 PM, Coleen Phillimore wrote:
>
> Max,
>
> This looks good. What a nice opportunity for clean up. I verified that
> rbx isn't used in the path that you added it as a temp register.
>
> Thanks!
> Coleen
>
> On 5/13/15, 11:41 AM, Max Ockner wrote:
>> Hello,
>>
>> Please review this change:
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-6811960
>> webrev: http://cr.openjdk.java.net/~mockner/6811960/
>>
>> Summary: There was a piece of code which accidentally reused a
>> register that it shouldn't have reused within the biased_locking_enter
>> function. I haven't been able to reproduce the bug, and I've heard
>> that nobody has seen this bug since it was reported 5+ years ago.
>> I think the reason why this bug can't be reproduced is because all it
>> does is incorrectly revoke a bias.
>>
>> Either way, this register is no longer reused. All registers are
>> correctly supplied now, and this fact is checked with an assert
>> statement in biased_locking_enter.
>>
>> There was also some code which was only called in the case where this
>> special register was reused(The original author probably intended this
>> to be possible without breaking anything) Now that there is no
>> register reuse, these code sections have been removed.
>>
>> Tested with a lot of things:
>> "/net/file01.se.oracle.com/home/appeal/bin/rbt remote-build-and-test
>> --jprt-queue west --test hotspot/test/:hotspot_all,vm.quick.testlist
>> -bf fastdebug -bp linux-x64-64,win-x64-64,linux-i586-32,win-i586-32
>> -tp linux-x64-64,win-x64-64,linux-i586-32,win-i586-32 --email
>> max.ockner at oracle.com"
>> These were the results:
>> http://sla03.se.oracle.com:3000/rbt/rbt-max.ockner-biased-20150512-1900-1361
>>
>>
>> Thanks,
>> Max
>
More information about the hotspot-runtime-dev
mailing list