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 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 // Convert the current time to a 64-bit integer first, before converting it | 84 // 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 | 85 // 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 | 86 // set to all ones. The seed will be identical for different instances that |
87 // call this setup code within the same millisecond. | 87 // call this setup code within the same millisecond. |
88 uint64_t seed = static_cast<uint64_t>(TimeCurrentMillis()); | 88 uint64_t seed = static_cast<uint64_t>(TimeCurrentMillis()); |
89 srandom(static_cast<unsigned int>(seed)); | 89 srandom(static_cast<unsigned int>(seed)); |
90 limit_mutex = CreateMutex(); | 90 limit_mutex = CreateMutex(); |
91 } | 91 } |
92 | 92 |
93 | 93 |
| 94 void MathSetup(); // Defined in platform-posix.cc. |
| 95 |
| 96 void OS::PostSetUp() { |
| 97 // Math functions depend on CPU features therefore they are initialized after |
| 98 // CPU. |
| 99 MathSetup(); |
| 100 } |
| 101 |
| 102 |
94 void OS::ReleaseStore(volatile AtomicWord* ptr, AtomicWord value) { | 103 void OS::ReleaseStore(volatile AtomicWord* ptr, AtomicWord value) { |
95 __asm__ __volatile__("" : : : "memory"); | 104 __asm__ __volatile__("" : : : "memory"); |
96 *ptr = value; | 105 *ptr = value; |
97 } | 106 } |
98 | 107 |
99 | 108 |
100 uint64_t OS::CpuFeaturesImpliedByPlatform() { | 109 uint64_t OS::CpuFeaturesImpliedByPlatform() { |
101 return 0; // FreeBSD runs on anything. | 110 return 0; // FreeBSD runs on anything. |
102 } | 111 } |
103 | 112 |
(...skipping 771 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
875 | 884 |
876 | 885 |
877 void Sampler::Stop() { | 886 void Sampler::Stop() { |
878 ASSERT(IsActive()); | 887 ASSERT(IsActive()); |
879 SignalSender::RemoveActiveSampler(this); | 888 SignalSender::RemoveActiveSampler(this); |
880 SetActive(false); | 889 SetActive(false); |
881 } | 890 } |
882 | 891 |
883 | 892 |
884 } } // namespace v8::internal | 893 } } // namespace v8::internal |
OLD | NEW |