summaryrefslogtreecommitdiff
path: root/deps/v8/src/base/sys-info.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/base/sys-info.cc')
-rw-r--r--deps/v8/src/base/sys-info.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/deps/v8/src/base/sys-info.cc b/deps/v8/src/base/sys-info.cc
index 143aa4ae89..3d45c8571c 100644
--- a/deps/v8/src/base/sys-info.cc
+++ b/deps/v8/src/base/sys-info.cc
@@ -127,5 +127,21 @@ int64_t SysInfo::AmountOfVirtualMemory() {
#endif
}
+// static
+uintptr_t SysInfo::AddressSpaceEnd() {
+#if V8_OS_WIN
+ SYSTEM_INFO info;
+ GetSystemInfo(&info);
+ uintptr_t max_address =
+ reinterpret_cast<uintptr_t>(info.lpMaximumApplicationAddress);
+ return max_address + 1;
+#else
+ // We don't query POSIX rlimits here (e.g. RLIMIT_AS) as they limit the size
+ // of memory mappings, but not the address space (e.g. even with a small
+ // RLIMIT_AS, a process can still map pages at high addresses).
+ return std::numeric_limits<uintptr_t>::max();
+#endif
+}
+
} // namespace base
} // namespace v8