aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/utilities
diff options
context:
space:
mode:
authorkvn <none@none>2013-11-21 12:30:35 -0800
committerkvn <none@none>2013-11-21 12:30:35 -0800
commit24b95fe6010d2c8cd4c2a683d304f77e11cca4ae (patch)
tree9f980df81d11e49ce9a8142d14370cc2f58f9a22 /src/share/vm/utilities
parent5413ca1d1c0a64c5c01dea68ce7a04c2a0e5a1a4 (diff)
parentf61e5091341833d8a906136ba3471de19bffdeed (diff)
Merge
Diffstat (limited to 'src/share/vm/utilities')
-rw-r--r--src/share/vm/utilities/globalDefinitions.hpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/share/vm/utilities/globalDefinitions.hpp b/src/share/vm/utilities/globalDefinitions.hpp
index 2bf75fac7..e522a98d7 100644
--- a/src/share/vm/utilities/globalDefinitions.hpp
+++ b/src/share/vm/utilities/globalDefinitions.hpp
@@ -459,6 +459,13 @@ 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;
+}
+
// Clamp an address to be within a specific page
// 1. If addr is on the page it is returned as is
// 2. If addr is above the page_address the start of the *next* page will be returned