blob: 4504c82e37ef21f9497d394f31e4ae40c426bc51 [file] [log] [blame]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001// Copyright 2014 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef V8_BASE_SYS_INFO_H_
6#define V8_BASE_SYS_INFO_H_
7
Emily Bernierd0a1eb72015-03-24 16:35:39 -04008#include <stdint.h>
Ben Murdochb8a8cc12014-11-26 15:28:44 +00009#include "src/base/compiler-specific.h"
10
11namespace v8 {
12namespace base {
13
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000014class SysInfo final {
Ben Murdochb8a8cc12014-11-26 15:28:44 +000015 public:
16 // Returns the number of logical processors/core on the current machine.
17 static int NumberOfProcessors();
18
19 // Returns the number of bytes of physical memory on the current machine.
20 static int64_t AmountOfPhysicalMemory();
21
22 // Returns the number of bytes of virtual memory of this process. A return
23 // value of zero means that there is no limit on the available virtual memory.
24 static int64_t AmountOfVirtualMemory();
25};
26
27} // namespace base
28} // namespace v8
29
30#endif // V8_BASE_SYS_INFO_H_