RFR: 6811960: Improper register reuse in biased_locking_enter has been fixed.
Coleen Phillimore
coleen.phillimore at oracle.com
Wed May 13 19:54:39 UTC 2015
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