5 #ifndef V8_WASM_WASM_LIMITS_H_ 6 #define V8_WASM_WASM_LIMITS_H_ 12 #include "src/wasm/wasm-constants.h" 18 constexpr
size_t kSpecMaxWasmMemoryPages = 65536;
22 constexpr
size_t kV8MaxWasmTypes = 1000000;
23 constexpr
size_t kV8MaxWasmFunctions = 1000000;
24 constexpr
size_t kV8MaxWasmImports = 100000;
25 constexpr
size_t kV8MaxWasmExports = 100000;
26 constexpr
size_t kV8MaxWasmGlobals = 1000000;
27 constexpr
size_t kV8MaxWasmExceptions = 1000000;
28 constexpr
size_t kV8MaxWasmExceptionTypes = 1000000;
29 constexpr
size_t kV8MaxWasmDataSegments = 100000;
31 constexpr
size_t kV8MaxWasmMemoryPages = 32767;
32 constexpr
size_t kV8MaxWasmStringSize = 100000;
33 constexpr
size_t kV8MaxWasmModuleSize = 1024 * 1024 * 1024;
34 constexpr
size_t kV8MaxWasmFunctionSize = 7654321;
35 constexpr
size_t kV8MaxWasmFunctionLocals = 50000;
36 constexpr
size_t kV8MaxWasmFunctionParams = 1000;
37 constexpr
size_t kV8MaxWasmFunctionMultiReturns = 1000;
38 constexpr
size_t kV8MaxWasmFunctionReturns = 1;
40 constexpr
size_t kV8MaxWasmTableSize = 10000000;
41 constexpr
size_t kV8MaxWasmTableEntries = 10000000;
42 constexpr
size_t kV8MaxWasmTables = 1;
43 constexpr
size_t kV8MaxWasmMemories = 1;
45 static_assert(kV8MaxWasmMemoryPages <= kSpecMaxWasmMemoryPages,
46 "v8 should not be more permissive than the spec");
47 constexpr
size_t kSpecMaxWasmTableSize = 0xFFFFFFFFu;
49 constexpr uint64_t kWasmMaxHeapOffset =
50 static_cast<uint64_t
>(
51 std::numeric_limits<uint32_t>::max())
52 + std::numeric_limits<uint32_t>::max();
59 inline uint64_t max_mem_bytes() {
60 return uint64_t{max_mem_pages()} * kWasmPageSize;
67 #endif // V8_WASM_WASM_LIMITS_H_