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 #include "vm/globals.h" | 5 #include "vm/globals.h" |
6 #if defined(TARGET_OS_LINUX) | 6 #if defined(TARGET_OS_LINUX) |
7 | 7 |
8 #include "vm/os.h" | 8 #include "vm/os.h" |
9 | 9 |
10 #include <errno.h> // NOLINT | 10 #include <errno.h> // NOLINT |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
280 | 280 |
281 | 281 |
282 // TODO(regis, iposva): When this function is no longer called from the | 282 // TODO(regis, iposva): When this function is no longer called from the |
283 // CodeImmutability test in object_test.cc, it will be called only from the | 283 // CodeImmutability test in object_test.cc, it will be called only from the |
284 // simulator, which means that only the Intel implementation is needed. | 284 // simulator, which means that only the Intel implementation is needed. |
285 void OS::DebugBreak() { | 285 void OS::DebugBreak() { |
286 __builtin_trap(); | 286 __builtin_trap(); |
287 } | 287 } |
288 | 288 |
289 | 289 |
| 290 uintptr_t DART_NOINLINE OS::GetProgramCounter() { |
| 291 return reinterpret_cast<uintptr_t>( |
| 292 __builtin_extract_return_addr(__builtin_return_address(0))); |
| 293 } |
| 294 |
| 295 |
290 char* OS::StrNDup(const char* s, intptr_t n) { | 296 char* OS::StrNDup(const char* s, intptr_t n) { |
291 return strndup(s, n); | 297 return strndup(s, n); |
292 } | 298 } |
293 | 299 |
294 | 300 |
295 intptr_t OS::StrNLen(const char* s, intptr_t n) { | 301 intptr_t OS::StrNLen(const char* s, intptr_t n) { |
296 return strnlen(s, n); | 302 return strnlen(s, n); |
297 } | 303 } |
298 | 304 |
299 | 305 |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
416 } | 422 } |
417 | 423 |
418 | 424 |
419 void OS::Exit(int code) { | 425 void OS::Exit(int code) { |
420 exit(code); | 426 exit(code); |
421 } | 427 } |
422 | 428 |
423 } // namespace dart | 429 } // namespace dart |
424 | 430 |
425 #endif // defined(TARGET_OS_LINUX) | 431 #endif // defined(TARGET_OS_LINUX) |
OLD | NEW |