RFR: 8216350: AArch64: monitor unlock fast path not called

Nick Gasson (Arm Technology China) Nick.Gasson at arm.com
Tue Jan 8 09:00:25 UTC 2019

Hi Andrew,

On 08/01/2019 16:49, Andrew Haley wrote:
> Thanks. How does this compare with the x86 code?

In macroAssembler_x86.cpp MacroAssembler::fast_lock the _LP64 version 
also uses markOopDesc::unused_mark()

   // Unconditionally set box->_displaced_header = 
   // Without cast to int32_t movptr will destroy r10 which is typically 
   movptr(Address(boxReg, 0), 

(The !_LP64 version uses the literal "3" which is just 
markOopDesc::unused_mark anyway.)

And then in the x86 fast_unlock they are testing the same bit as AArch64:

   testptr(tmpReg, markOopDesc::monitor_value);    // Inflated?


More information about the hotspot-compiler-dev mailing list