RFR: 6811960: Improper register reuse in biased_locking_enter has been fixed.

Max Ockner max.ockner at oracle.com
Wed May 13 15:41:52 UTC 2015


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