< prev index next >

src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp

Print this page
@@ -1,7 +1,7 @@
  /*
-  * Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
+  * Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
   * under the terms of the GNU General Public License version 2 only, as
   * published by the Free Software Foundation.

@@ -26,10 +26,16 @@
  #define CPU_AARCH64_C2_MACROASSEMBLER_AARCH64_HPP
  
  // C2_MacroAssembler contains high-level macros for C2
  
   public:
+   // Code used by cmpFastLock and cmpFastUnlock mach instructions in .ad file.
+   void fast_lock(Register object, Register box, Register tmp, Register tmp2, Register tmp3);
+   void fast_unlock(Register object, Register box, Register tmp, Register tmp2);
+   // Code used by cmpFastLockLightweight and cmpFastUnlockLightweight mach instructions in .ad file.
+   void fast_lock_lightweight(Register object, Register t1, Register t2, Register t3);
+   void fast_unlock_lightweight(Register object, Register t1, Register t2, Register t3);
  
    void string_compare(Register str1, Register str2,
                        Register cnt1, Register cnt2, Register result,
                        Register tmp1, Register tmp2, FloatRegister vtmp1,
                        FloatRegister vtmp2, FloatRegister vtmp3, int ae);

@@ -51,6 +57,8 @@
  
    // SIMD&FP comparison
    void neon_compare(FloatRegister dst, BasicType bt, FloatRegister src1,
                      FloatRegister src2, int cond, bool isQ);
  
+   void load_nklass_compact(Register dst, Register obj, Register index, int scale, int disp);
+ 
  #endif // CPU_AARCH64_C2_MACROASSEMBLER_AARCH64_HPP
< prev index next >