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 PLATFORM_UTILS_H_ | 5 #ifndef PLATFORM_UTILS_H_ |
6 #define PLATFORM_UTILS_H_ | 6 #define PLATFORM_UTILS_H_ |
7 | 7 |
8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
9 #include "platform/globals.h" | 9 #include "platform/globals.h" |
10 | 10 |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 static uint16_t HostToLittleEndian16(uint16_t host_value); | 197 static uint16_t HostToLittleEndian16(uint16_t host_value); |
198 static uint32_t HostToLittleEndian32(uint32_t host_value); | 198 static uint32_t HostToLittleEndian32(uint32_t host_value); |
199 static uint64_t HostToLittleEndian64(uint64_t host_value); | 199 static uint64_t HostToLittleEndian64(uint64_t host_value); |
200 | 200 |
201 static bool DoublesBitEqual(const double a, const double b) { | 201 static bool DoublesBitEqual(const double a, const double b) { |
202 return bit_cast<int64_t, double>(a) == bit_cast<int64_t, double>(b); | 202 return bit_cast<int64_t, double>(a) == bit_cast<int64_t, double>(b); |
203 } | 203 } |
204 | 204 |
205 // dart2js represents integers as double precision floats, which can | 205 // dart2js represents integers as double precision floats, which can |
206 // represent anything in the range -2^53 ... 2^53. | 206 // represent anything in the range -2^53 ... 2^53. |
207 static bool IsJavascriptInt64(int64_t value) { | 207 static bool IsJavascriptInt(int64_t value) { |
208 return ((-0x20000000000000LL <= value) && (value <= 0x20000000000000LL)); | 208 return ((-0x20000000000000LL <= value) && (value <= 0x20000000000000LL)); |
209 } | 209 } |
210 static bool IsJavascriptInt(intptr_t value) { | |
211 #if defined(ARCH_IS_64BIT) | |
212 return ((-0x20000000000000LL <= value) && (value <= 0x20000000000000LL)); | |
213 #else | |
214 return true; | |
215 #endif | |
216 } | |
217 | 210 |
218 static char* StrError(int err, char* buffer, size_t bufsize); | 211 static char* StrError(int err, char* buffer, size_t bufsize); |
219 }; | 212 }; |
220 | 213 |
221 } // namespace dart | 214 } // namespace dart |
222 | 215 |
223 #if defined(TARGET_OS_ANDROID) | 216 #if defined(TARGET_OS_ANDROID) |
224 #include "platform/utils_android.h" | 217 #include "platform/utils_android.h" |
225 #elif defined(TARGET_OS_LINUX) | 218 #elif defined(TARGET_OS_LINUX) |
226 #include "platform/utils_linux.h" | 219 #include "platform/utils_linux.h" |
227 #elif defined(TARGET_OS_MACOS) | 220 #elif defined(TARGET_OS_MACOS) |
228 #include "platform/utils_macos.h" | 221 #include "platform/utils_macos.h" |
229 #elif defined(TARGET_OS_WINDOWS) | 222 #elif defined(TARGET_OS_WINDOWS) |
230 #include "platform/utils_win.h" | 223 #include "platform/utils_win.h" |
231 #else | 224 #else |
232 #error Unknown target os. | 225 #error Unknown target os. |
233 #endif | 226 #endif |
234 | 227 |
235 #endif // PLATFORM_UTILS_H_ | 228 #endif // PLATFORM_UTILS_H_ |
OLD | NEW |