< 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 
48   // Memory
49   static void fill(uintptr_t* addr, size_t count, uintptr_t value);
50   template <typename T>
51   static void copy_disjoint(T* dest, const T* src, size_t count);
52   template <typename T>
53   static void copy_disjoint(T* dest, const T* src, int count);
54 
55   // Sort
56   template <typename T, typename Comparator>
57   static void sort(T* array, size_t count, Comparator comparator);
58   template <typename T, typename Comparator>
59   static void sort(T* array, int count, Comparator comparator);
60 };
61 
62 #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 
51   // Memory
52   static void fill(uintptr_t* addr, size_t count, uintptr_t value);
53   template <typename T>
54   static void copy_disjoint(T* dest, const T* src, size_t count);
55   template <typename T>
56   static void copy_disjoint(T* dest, const T* src, int count);
57 
58   // Sort
59   template <typename T, typename Comparator>
60   static void sort(T* array, size_t count, Comparator comparator);
61   template <typename T, typename Comparator>
62   static void sort(T* array, int count, Comparator comparator);
63 };
64 
65 #endif // SHARE_GC_Z_ZUTILS_HPP
< prev index next >