< prev index next >
src/share/vm/utilities/globalDefinitions.hpp
Print this page
@@ -155,11 +155,10 @@
};
// Analogous opaque struct for metadata allocated from
// metaspaces.
class MetaWord {
- friend class VMStructs;
private:
char* i;
};
// HeapWordSize must be 2^LogHeapWordSize.
@@ -484,22 +483,27 @@
return align_size_down_(size, alignment);
}
#define is_size_aligned_(size, alignment) ((size) == (align_size_up_(size, alignment)))
-inline void* align_ptr_up(void* ptr, size_t alignment) {
+inline void* align_ptr_up(const void* ptr, size_t alignment) {
return (void*)align_size_up((intptr_t)ptr, (intptr_t)alignment);
}
inline void* align_ptr_down(void* ptr, size_t alignment) {
return (void*)align_size_down((intptr_t)ptr, (intptr_t)alignment);
}
-// Align objects by rounding up their size, in HeapWord units.
+// Align metaspace objects by rounding up to natural word boundary
-#define align_object_size_(size) align_size_up_(size, MinObjAlignment)
+inline intptr_t align_metadata_size(intptr_t size) {
+ return align_size_up(size, 1);
+}
+// Align objects in the Java Heap by rounding up their size, in HeapWord units.
+// Since the size is given in words this is somewhat of a nop, but
+// distinguishes it from align_object_size.
inline intptr_t align_object_size(intptr_t size) {
return align_size_up(size, MinObjAlignment);
}
inline bool is_object_aligned(intptr_t addr) {
@@ -510,14 +514,10 @@
inline intptr_t align_object_offset(intptr_t offset) {
return align_size_up(offset, HeapWordsPerLong);
}
-inline void* align_pointer_up(const void* addr, size_t size) {
- return (void*) align_size_up_((uintptr_t)addr, size);
-}
-
// Align down with a lower bound. If the aligning results in 0, return 'alignment'.
inline size_t align_size_down_bounded(size_t size, size_t alignment) {
size_t aligned_size = align_size_down_(size, alignment);
return aligned_size > 0 ? aligned_size : alignment;
< prev index next >