FlattenableUtils::align memsets am: e62a9d7669

am: 59e7d4e8ea

Change-Id: I1105027b52c3621e2031bdb747de61ce54d3ec74
This commit is contained in:
Steven Moreland 2019-11-06 16:06:57 -08:00 committed by android-build-merger
commit 3f273f49f1

View file

@ -47,7 +47,12 @@ public:
template<size_t N>
static size_t align(void*& buffer) {
return align<N>( const_cast<void const*&>(buffer) );
static_assert(!(N & (N - 1)), "Can only align to a power of 2.");
void* b = buffer;
buffer = reinterpret_cast<void*>((uintptr_t(buffer) + (N-1)) & ~(N-1));
size_t delta = size_t(uintptr_t(buffer) - uintptr_t(b));
memset(b, 0, delta);
return delta;
}
static void advance(void*& buffer, size_t& size, size_t offset) {