master
1#ifndef __wasilibc___macro_PAGESIZE_h
2#define __wasilibc___macro_PAGESIZE_h
3
4/*
5 * Without custom-page-sizes proposal, the page size in WebAssembly
6 * is fixed at 64 KiB.
7 *
8 * The LLVM versions with a support of custom-page-sizes proposal
9 * provides __wasm_first_page_end global to allow page-size-agnostic
10 * objects.
11 *
12 * If this ever needs to be a value outside the range of an `int`, the
13 * `getpagesize` function which returns this value will need special
14 * consideration. POSIX has deprecated `getpagesize` in favor of
15 * `sysconf(_SC_PAGESIZE)` which does not have this problem.
16 */
17#if __clang_major__ >= 22
18extern char __wasm_first_page_end;
19#define PAGESIZE ((unsigned long)&__wasm_first_page_end)
20#else
21#define PAGESIZE (0x10000)
22#endif
23
24#endif