< prev index next >

src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp

Print this page
*** 1,7 ***
  /*
!  * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
   * Copyright (c) 2014, 2021, Red Hat Inc. 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
--- 1,7 ---
  /*
!  * Copyright (c) 1997, 2024, Oracle and/or its affiliates. All rights reserved.
   * Copyright (c) 2014, 2021, Red Hat Inc. 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

*** 821,11 ***
  
    void load_method_holder_cld(Register rresult, Register rmethod);
    void load_method_holder(Register holder, Register method);
  
    // oop manipulations
!   void load_klass(Register dst, Register src);
    void store_klass(Register dst, Register src);
    void cmp_klass(Register oop, Register trial_klass, Register tmp);
  
    void resolve_weak_handle(Register result, Register tmp);
    void resolve_oop_handle(Register result, Register tmp = r5);
--- 821,12 ---
  
    void load_method_holder_cld(Register rresult, Register rmethod);
    void load_method_holder(Register holder, Register method);
  
    // oop manipulations
!   void load_nklass(Register dst, Register src);
+   void load_klass(Register dst, Register src, bool null_check = false);
    void store_klass(Register dst, Register src);
    void cmp_klass(Register oop, Register trial_klass, Register tmp);
  
    void resolve_weak_handle(Register result, Register tmp);
    void resolve_oop_handle(Register result, Register tmp = r5);

*** 848,14 ***
    // currently unimplemented
    // Used for storing NULL. All other oop constants should be
    // stored using routines that take a jobject.
    void store_heap_oop_null(Address dst);
  
-   void load_prototype_header(Register dst, Register src);
- 
    void store_klass_gap(Register dst, Register src);
  
    // This dummy is to prevent a call to store_heap_oop from
    // converting a zero (like NULL) into a Register by giving
    // the compiler two choices it can't resolve
  
    void store_heap_oop(Address dst, void* dummy);
--- 849,14 ---
    // currently unimplemented
    // Used for storing NULL. All other oop constants should be
    // stored using routines that take a jobject.
    void store_heap_oop_null(Address dst);
  
    void store_klass_gap(Register dst, Register src);
  
+   void load_prototype_header(Register dst, Register src);
+ 
    // This dummy is to prevent a call to store_heap_oop from
    // converting a zero (like NULL) into a Register by giving
    // the compiler two choices it can't resolve
  
    void store_heap_oop(Address dst, void* dummy);

*** 1421,10 ***
--- 1422,13 ---
    void cache_wbsync(bool is_pre);
  
    // Code for java.lang.Thread::onSpinWait() intrinsic.
    void spin_wait();
  
+   void lightweight_lock(Register obj, Register t1, Register t2, Register t3, Label& slow);
+   void lightweight_unlock(Register obj, Register t1, Register t2, Register t3, Label& slow);
+ 
  private:
    // Check the current thread doesn't need a cross modify fence.
    void verify_cross_modify_fence_not_required() PRODUCT_RETURN;
  
  };
< prev index next >