OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Platform-specific code for Linux goes here. For the POSIX-compatible | 5 // Platform-specific code for Linux goes here. For the POSIX-compatible |
6 // parts, the implementation is in platform-posix.cc. | 6 // parts, the implementation is in platform-posix.cc. |
7 | 7 |
8 #include <pthread.h> | 8 #include <pthread.h> |
9 #include <semaphore.h> | 9 #include <semaphore.h> |
10 #include <signal.h> | 10 #include <signal.h> |
| 11 #include <stdlib.h> |
11 #include <sys/prctl.h> | 12 #include <sys/prctl.h> |
12 #include <sys/time.h> | |
13 #include <sys/resource.h> | 13 #include <sys/resource.h> |
14 #include <sys/syscall.h> | 14 #include <sys/syscall.h> |
| 15 #include <sys/time.h> |
15 #include <sys/types.h> | 16 #include <sys/types.h> |
16 #include <stdlib.h> | |
17 | 17 |
18 // Ubuntu Dapper requires memory pages to be marked as | 18 // Ubuntu Dapper requires memory pages to be marked as |
19 // executable. Otherwise, OS raises an exception when executing code | 19 // executable. Otherwise, OS raises an exception when executing code |
20 // in that page. | 20 // in that page. |
21 #include <sys/types.h> // mmap & munmap | 21 #include <errno.h> |
| 22 #include <fcntl.h> // open |
| 23 #include <stdarg.h> |
| 24 #include <strings.h> // index |
22 #include <sys/mman.h> // mmap & munmap | 25 #include <sys/mman.h> // mmap & munmap |
23 #include <sys/stat.h> // open | 26 #include <sys/stat.h> // open |
24 #include <fcntl.h> // open | 27 #include <sys/types.h> // mmap & munmap |
25 #include <unistd.h> // sysconf | 28 #include <unistd.h> // sysconf |
26 #include <strings.h> // index | |
27 #include <errno.h> | |
28 #include <stdarg.h> | |
29 | 29 |
30 // GLibc on ARM defines mcontext_t has a typedef for 'struct sigcontext'. | 30 // GLibc on ARM defines mcontext_t has a typedef for 'struct sigcontext'. |
31 // Old versions of the C library <signal.h> didn't define the type. | 31 // Old versions of the C library <signal.h> didn't define the type. |
32 #if defined(__ANDROID__) && !defined(__BIONIC_HAVE_UCONTEXT_T) && \ | 32 #if defined(__ANDROID__) && !defined(__BIONIC_HAVE_UCONTEXT_T) && \ |
33 (defined(__arm__) || defined(__aarch64__)) && \ | 33 (defined(__arm__) || defined(__aarch64__)) && \ |
34 !defined(__BIONIC_HAVE_STRUCT_SIGCONTEXT) | 34 !defined(__BIONIC_HAVE_STRUCT_SIGCONTEXT) |
35 #include <asm/sigcontext.h> | 35 #include <asm/sigcontext.h> // NOLINT |
36 #endif | 36 #endif |
37 | 37 |
38 #if defined(LEAK_SANITIZER) | 38 #if defined(LEAK_SANITIZER) |
39 #include <sanitizer/lsan_interface.h> | 39 #include <sanitizer/lsan_interface.h> |
40 #endif | 40 #endif |
41 | 41 |
42 #undef MAP_TYPE | 42 #undef MAP_TYPE |
43 | 43 |
44 #include "src/v8.h" | 44 #include "src/v8.h" |
45 | 45 |
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
422 #endif | 422 #endif |
423 return munmap(base, size) == 0; | 423 return munmap(base, size) == 0; |
424 } | 424 } |
425 | 425 |
426 | 426 |
427 bool VirtualMemory::HasLazyCommits() { | 427 bool VirtualMemory::HasLazyCommits() { |
428 return true; | 428 return true; |
429 } | 429 } |
430 | 430 |
431 } } // namespace v8::internal | 431 } } // namespace v8::internal |
OLD | NEW |