# HG changeset patch # User adinn # Date 1440605639 -3600 # Node ID b516036ba465f0fa6594edfee0f2bbb177c069f6 # Parent 22f4e54b965a9c8b1344c325ca1803fd6890457a 8134322: AArch64: Fix several errors in C2 biased locking implementation Summary: Several errors in C2 biased locking require fixing Reviewed-by: kvn Contributed-by: hui.shi@linaro.org diff -r 22f4e54b965a -r b516036ba465 src/cpu/aarch64/vm/aarch64.ad --- a/src/cpu/aarch64/vm/aarch64.ad Tue Sep 01 09:36:33 2015 +0000 +++ b/src/cpu/aarch64/vm/aarch64.ad Wed Aug 26 17:13:59 2015 +0100 @@ -3014,12 +3014,12 @@ return; } - if (UseBiasedLocking) { - __ biased_locking_enter(disp_hdr, oop, box, tmp, true, cont); + if (UseBiasedLocking && !UseOptoBiasInlining) { + __ biased_locking_enter(box, oop, disp_hdr, tmp, true, cont); } // Handle existing monitor - if (EmitSync & 0x02) { + if ((EmitSync & 0x02) == 0) { // we can use AArch64's bit test and branch here but // markoopDesc does not define a bit index just the bit value // so assert in case the bit pos changes @@ -3159,7 +3159,7 @@ return; } - if (UseBiasedLocking) { + if (UseBiasedLocking && !UseOptoBiasInlining) { __ biased_locking_exit(oop, tmp, cont); }