< prev index next >

src/hotspot/share/gc/z/zUtils.hpp

Print this page

25 #define SHARE_GC_Z_ZUTILS_HPP
26 
27 #include "gc/z/zAddress.hpp"
28 #include "memory/allStatic.hpp"
29 #include "utilities/globalDefinitions.hpp"
30 
31 class ZUtils : public AllStatic {
32 public:
33   // Thread
34   static const char* thread_name();
35 
36   // Allocation
37   static uintptr_t alloc_aligned_unfreeable(size_t alignment, size_t size);
38 
39   // Size conversion
40   static size_t bytes_to_words(size_t size_in_words);
41   static size_t words_to_bytes(size_t size_in_words);
42 
43   // Object
44   static size_t object_size(zaddress addr);



45   static void object_copy_disjoint(zaddress from, zaddress to, size_t size);
46   static void object_copy_conjoint(zaddress from, zaddress to, size_t size);
47   static void object_copy_disjoint_atomic(zaddress from, zaddress to, size_t offset, size_t size);
48 
49   // Memory
50   static void fill(uintptr_t* addr, size_t count, uintptr_t value);
51   template <typename T>
52   static void copy_disjoint(T* dest, const T* src, size_t count);
53   template <typename T>
54   static void copy_disjoint(T* dest, const T* src, int count);
55 
56   // Sort
57   template <typename T, typename Comparator>
58   static void sort(T* array, size_t count, Comparator comparator);
59   template <typename T, typename Comparator>
60   static void sort(T* array, int count, Comparator comparator);
61 };
62 
63 #endif // SHARE_GC_Z_ZUTILS_HPP

25 #define SHARE_GC_Z_ZUTILS_HPP
26 
27 #include "gc/z/zAddress.hpp"
28 #include "memory/allStatic.hpp"
29 #include "utilities/globalDefinitions.hpp"
30 
31 class ZUtils : public AllStatic {
32 public:
33   // Thread
34   static const char* thread_name();
35 
36   // Allocation
37   static uintptr_t alloc_aligned_unfreeable(size_t alignment, size_t size);
38 
39   // Size conversion
40   static size_t bytes_to_words(size_t size_in_words);
41   static size_t words_to_bytes(size_t size_in_words);
42 
43   // Object
44   static size_t object_size(zaddress addr);
45   static size_t copy_size(zaddress addr, size_t size);
46   static void initialize_hash_if_necessary(zaddress to_addr, zaddress from_addr);
47 
48   static void object_copy_disjoint(zaddress from, zaddress to, size_t size);
49   static void object_copy_conjoint(zaddress from, zaddress to, size_t size);
50   static void object_copy_disjoint_atomic(zaddress from, zaddress to, size_t offset, size_t size);
51 
52   // Memory
53   static void fill(uintptr_t* addr, size_t count, uintptr_t value);
54   template <typename T>
55   static void copy_disjoint(T* dest, const T* src, size_t count);
56   template <typename T>
57   static void copy_disjoint(T* dest, const T* src, int count);
58 
59   // Sort
60   template <typename T, typename Comparator>
61   static void sort(T* array, size_t count, Comparator comparator);
62   template <typename T, typename Comparator>
63   static void sort(T* array, int count, Comparator comparator);
64 };
65 
66 #endif // SHARE_GC_Z_ZUTILS_HPP
< prev index next >