OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef RUNTIME_BIN_PLATFORM_H_ | 5 #ifndef RUNTIME_BIN_PLATFORM_H_ |
6 #define RUNTIME_BIN_PLATFORM_H_ | 6 #define RUNTIME_BIN_PLATFORM_H_ |
7 | 7 |
8 #include "bin/builtin.h" | 8 #include "bin/builtin.h" |
9 #include "platform/globals.h" | 9 #include "platform/globals.h" |
10 | 10 |
11 namespace dart { | 11 namespace dart { |
12 namespace bin { | 12 namespace bin { |
13 | 13 |
14 class Platform { | 14 class Platform { |
15 public: | 15 public: |
16 // Perform platform specific initialization. | 16 // Perform platform specific initialization. |
17 static bool Initialize(); | 17 static bool Initialize(); |
18 | 18 |
19 // Returns the number of processors on the machine. | 19 // Returns the number of processors on the machine. |
20 static int NumberOfProcessors(); | 20 static int NumberOfProcessors(); |
21 | 21 |
22 // Returns a string representing the operating system ("linux", | 22 // Returns a string representing the operating system ("linux", |
23 // "macos", "windows", or "android"). The returned string should not be | 23 // "macos", "windows", or "android"). The returned string should not be |
24 // deallocated by the caller. | 24 // deallocated by the caller. |
25 static const char* OperatingSystem(); | 25 static const char* OperatingSystem(); |
26 | 26 |
27 // Returns the architecture name of the processor the VM is running on | 27 // Returns the architecture name of the processor the VM is running on |
28 // (ia32, x64, arm, arm64, or mips). | 28 // (ia32, x64, arm, or arm64). |
29 static const char* HostArchitecture() { | 29 static const char* HostArchitecture() { |
30 #if defined(HOST_ARCH_ARM) | 30 #if defined(HOST_ARCH_ARM) |
31 return "arm"; | 31 return "arm"; |
32 #elif defined(HOST_ARCH_ARM64) | 32 #elif defined(HOST_ARCH_ARM64) |
33 return "arm64"; | 33 return "arm64"; |
34 #elif defined(HOST_ARCH_IA32) | 34 #elif defined(HOST_ARCH_IA32) |
35 return "ia32"; | 35 return "ia32"; |
36 #elif defined(HOST_ARCH_MIPS) | |
37 return "mips"; | |
38 #elif defined(HOST_ARCH_X64) | 36 #elif defined(HOST_ARCH_X64) |
39 return "x64"; | 37 return "x64"; |
40 #else | 38 #else |
41 #error Architecture detection failed. | 39 #error Architecture detection failed. |
42 #endif | 40 #endif |
43 } | 41 } |
44 | 42 |
45 static const char* LibraryPrefix(); | 43 static const char* LibraryPrefix(); |
46 | 44 |
47 // Returns a string representing the operating system's shared library | 45 // Returns a string representing the operating system's shared library |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 static char** argv_; // VM flags are argv_[1 ... script_index_ - 1] | 95 static char** argv_; // VM flags are argv_[1 ... script_index_ - 1] |
98 | 96 |
99 DISALLOW_ALLOCATION(); | 97 DISALLOW_ALLOCATION(); |
100 DISALLOW_IMPLICIT_CONSTRUCTORS(Platform); | 98 DISALLOW_IMPLICIT_CONSTRUCTORS(Platform); |
101 }; | 99 }; |
102 | 100 |
103 } // namespace bin | 101 } // namespace bin |
104 } // namespace dart | 102 } // namespace dart |
105 | 103 |
106 #endif // RUNTIME_BIN_PLATFORM_H_ | 104 #endif // RUNTIME_BIN_PLATFORM_H_ |
OLD | NEW |