| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 #include <strings.h> // index | 47 #include <strings.h> // index |
| 48 #include <errno.h> | 48 #include <errno.h> |
| 49 #include <stdarg.h> | 49 #include <stdarg.h> |
| 50 #include <limits.h> | 50 #include <limits.h> |
| 51 | 51 |
| 52 #undef MAP_TYPE | 52 #undef MAP_TYPE |
| 53 | 53 |
| 54 #include "v8.h" | 54 #include "v8.h" |
| 55 #include "v8threads.h" | 55 #include "v8threads.h" |
| 56 | 56 |
| 57 #include "platform-posix.h" |
| 57 #include "platform.h" | 58 #include "platform.h" |
| 58 #include "vm-state-inl.h" | 59 #include "vm-state-inl.h" |
| 59 | 60 |
| 60 | 61 |
| 61 namespace v8 { | 62 namespace v8 { |
| 62 namespace internal { | 63 namespace internal { |
| 63 | 64 |
| 64 // 0 is never a valid thread id on FreeBSD since tids and pids share a | 65 // 0 is never a valid thread id on FreeBSD since tids and pids share a |
| 65 // name space and pid 0 is used to kill the group (see man 2 kill). | 66 // name space and pid 0 is used to kill the group (see man 2 kill). |
| 66 static const pthread_t kNoThread = (pthread_t) 0; | 67 static const pthread_t kNoThread = (pthread_t) 0; |
| (...skipping 17 matching lines...) Expand all Loading... |
| 84 // Convert the current time to a 64-bit integer first, before converting it | 85 // Convert the current time to a 64-bit integer first, before converting it |
| 85 // to an unsigned. Going directly can cause an overflow and the seed to be | 86 // to an unsigned. Going directly can cause an overflow and the seed to be |
| 86 // set to all ones. The seed will be identical for different instances that | 87 // set to all ones. The seed will be identical for different instances that |
| 87 // call this setup code within the same millisecond. | 88 // call this setup code within the same millisecond. |
| 88 uint64_t seed = static_cast<uint64_t>(TimeCurrentMillis()); | 89 uint64_t seed = static_cast<uint64_t>(TimeCurrentMillis()); |
| 89 srandom(static_cast<unsigned int>(seed)); | 90 srandom(static_cast<unsigned int>(seed)); |
| 90 limit_mutex = CreateMutex(); | 91 limit_mutex = CreateMutex(); |
| 91 } | 92 } |
| 92 | 93 |
| 93 | 94 |
| 95 void OS::PostSetUp() { |
| 96 // Math functions depend on CPU features therefore they are initialized after |
| 97 // CPU. |
| 98 MathSetup(); |
| 99 } |
| 100 |
| 101 |
| 94 void OS::ReleaseStore(volatile AtomicWord* ptr, AtomicWord value) { | 102 void OS::ReleaseStore(volatile AtomicWord* ptr, AtomicWord value) { |
| 95 __asm__ __volatile__("" : : : "memory"); | 103 __asm__ __volatile__("" : : : "memory"); |
| 96 *ptr = value; | 104 *ptr = value; |
| 97 } | 105 } |
| 98 | 106 |
| 99 | 107 |
| 100 uint64_t OS::CpuFeaturesImpliedByPlatform() { | 108 uint64_t OS::CpuFeaturesImpliedByPlatform() { |
| 101 return 0; // FreeBSD runs on anything. | 109 return 0; // FreeBSD runs on anything. |
| 102 } | 110 } |
| 103 | 111 |
| (...skipping 771 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 875 | 883 |
| 876 | 884 |
| 877 void Sampler::Stop() { | 885 void Sampler::Stop() { |
| 878 ASSERT(IsActive()); | 886 ASSERT(IsActive()); |
| 879 SignalSender::RemoveActiveSampler(this); | 887 SignalSender::RemoveActiveSampler(this); |
| 880 SetActive(false); | 888 SetActive(false); |
| 881 } | 889 } |
| 882 | 890 |
| 883 | 891 |
| 884 } } // namespace v8::internal | 892 } } // namespace v8::internal |
| OLD | NEW |