< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp

Print this page
*** 80,11 ***
    }
  
    void print_on(outputStream* st) const override;
  
    template <class T>
!   inline void arraycopy_barrier(T* src, T* dst, size_t count);
  
    // Support for optimizing compilers to call the barrier set on slow path allocations
    // that did not enter a TLAB. Used for e.g. ReduceInitialCardMarks to take any
    // compensating actions to restore card-marks that might otherwise be incorrectly elided.
    void on_slowpath_allocation_exit(JavaThread* thread, oop new_obj) override;
--- 80,11 ---
    }
  
    void print_on(outputStream* st) const override;
  
    template <class T>
!   inline void arraycopy_barrier(T* src, T* dst, size_t count, bool dest_uninit);
  
    // Support for optimizing compilers to call the barrier set on slow path allocations
    // that did not enter a TLAB. Used for e.g. ReduceInitialCardMarks to take any
    // compensating actions to restore card-marks that might otherwise be incorrectly elided.
    void on_slowpath_allocation_exit(JavaThread* thread, oop new_obj) override;

*** 177,10 ***
--- 177,14 ---
                                                 size_t length);
  
      // Clone barrier support
      static void clone_in_heap(oop src, oop dst, size_t size);
  
+     // Valhalla support
+     static void value_copy_in_heap(const ValuePayload& src, const ValuePayload& dst);
+     static void value_store_null_in_heap(const ValuePayload& dst);
+ 
      // Support for concurrent roots evacuation, updating and weak roots clearing
      template <typename T>
      static oop oop_load_not_in_heap(T* addr);
  
      // Support for concurrent roots marking
< prev index next >