summaryrefslogtreecommitdiff
path: root/src/support
diff options
context:
space:
mode:
Diffstat (limited to 'src/support')
-rw-r--r--src/support/utilities.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/support/utilities.h b/src/support/utilities.h
index 77263a78e..d35b2b34a 100644
--- a/src/support/utilities.h
+++ b/src/support/utilities.h
@@ -35,6 +35,19 @@ inline Destination bit_cast(const Source& source) {
return destination;
}
+inline bool isPowerOf2(uint32_t v) {
+ return v && !(v & (v - 1));
+}
+
+inline size_t alignAddr(size_t address, size_t alignment) {
+ assert(alignment && isPowerOf2((uint32_t)alignment) &&
+ "Alignment is not a power of two!");
+
+ assert(address + alignment - 1 >= address);
+
+ return ((address + alignment - 1) & ~(alignment - 1));
+}
+
} // namespace wasm
#endif // wasm_support_utilities_h