Lines Matching +full:platform +full:- +full:data
1 //===-- common.h ------------------------------------------------*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
34 return (X & (X - 1)) == 0;
39 return (X + Boundary - 1) & ~(Boundary - 1);
42 return ((X + Boundary - 1) / Boundary) * Boundary;
47 return X & ~(Boundary - 1);
55 return (X & (Alignment - 1)) == 0;
73 return SCUDO_WORDSIZE - 1U - static_cast<uptr>(__builtin_clzl(X));
97 // ANSI C linear congruential PRNG (16-bit output).
99 // XorShift (32-bit output).
114 for (u32 I = N - 1; I > 0; I--)
134 // Platform specific functions.
140 // Most Android builds have a build-time constant page size.
165 // Platform memory mapping functions.
173 // Our platform memory mapping use is restricted to 3 scenarios:
174 // - reserve memory at a random address (MAP_NOACCESS);
175 // - commit memory in a previously reserved space;
176 // - commit memory at a random address.
178 // by the function implementation. The Data parameter allows to pass opaque
179 // platform specific data to the function.
182 MapPlatformData *Data = nullptr);
185 // further consequences on Data, depending on the platform.
189 MapPlatformData *Data = nullptr);
192 MapPlatformData *Data = nullptr);
195 MapPlatformData *Data = nullptr);
231 // zero-initialized already.