| // Copyright 2018 The Chromium Authors | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #ifndef SANDBOX_CONSTANTS_H_ | 
 | #define SANDBOX_CONSTANTS_H_ | 
 |  | 
 | #include <limits> | 
 |  | 
 | #include "build/build_config.h" | 
 |  | 
 | namespace sandbox { | 
 |  | 
 | // kDataSizeLimit is used for RLIMIT_DATA on POSIX and for | 
 | // JOBOBJECT_EXTENDED_LIMIT_INFORMATION.JobMemoryLimit on Windows. | 
 | // | 
 | #if defined(ARCH_CPU_64_BITS) | 
 | // Note: On Linux and Windows, the sandbox may set a higher limit for | 
 | // renderer and GPU processes if the system has enough physical memory. | 
 | constexpr size_t kDataSizeLimit = size_t{1} << 32;  // 4 GB | 
 | #else | 
 | // Limit the data memory to a size that prevents allocations that can't be | 
 | // indexed by an int. | 
 | constexpr size_t kDataSizeLimit = | 
 |     static_cast<size_t>(std::numeric_limits<int>::max()); | 
 | #endif | 
 |  | 
 | }  // namespace sandbox | 
 |  | 
 | #endif  // SANDBOX_CONSTANTS_H_ |