5#ifndef INCLUDE_CPPGC_INTERNAL_API_CONSTANTS_H_
6#define INCLUDE_CPPGC_INTERNAL_API_CONSTANTS_H_
19namespace api_constants {
21constexpr size_t kKB = 1024;
28static constexpr size_t kFullyConstructedBitFieldOffsetFromPayload =
31static constexpr uint16_t kFullyConstructedBitMask = uint16_t{1};
33static constexpr size_t kPageSize =
size_t{1} << 17;
35#if defined(V8_TARGET_ARCH_ARM64) && defined(V8_OS_DARWIN)
41static constexpr size_t kLargeObjectSizeThreshold = kPageSize / 2;
43#if defined(CPPGC_CAGED_HEAP)
44#if defined(CPPGC_2GB_CAGE)
45constexpr size_t kCagedHeapReservationSize =
static_cast<size_t>(2) *
kGB;
47constexpr size_t kCagedHeapReservationSize =
static_cast<size_t>(4) *
kGB;
49constexpr size_t kCagedHeapReservationAlignment = kCagedHeapReservationSize;
52static constexpr size_t kDefaultAlignment =
sizeof(
void*);
55static constexpr size_t kMaxSupportedAlignment = 2 * kDefaultAlignment;
constexpr size_t kAllocationGranularity
constexpr size_t kGuardPageSize
constexpr size_t kCachelineSize