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 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 if ((intgr & 1) != 0 && intgr - flt == 0.5) { | 79 if ((intgr & 1) != 0 && intgr - flt == 0.5) { |
80 // If the number is halfway between two integers, round to the even one. | 80 // If the number is halfway between two integers, round to the even one. |
81 intgr--; | 81 intgr--; |
82 } | 82 } |
83 #endif | 83 #endif |
84 return intgr; | 84 return intgr; |
85 } | 85 } |
86 | 86 |
87 #endif // V8_CC_MSVC | 87 #endif // V8_CC_MSVC |
88 | 88 |
89 // Random is missing on both Visual Studio and MinGW. | |
90 #if V8_CC_MSVC || V8_CC_MINGW | |
91 int random(); | |
92 #endif // V8_CC_MSVC || V8_CC_MINGW | |
93 | |
94 namespace v8 { | 89 namespace v8 { |
95 namespace internal { | 90 namespace internal { |
96 | 91 |
97 double ceiling(double x); | 92 double ceiling(double x); |
98 double modulo(double x, double y); | 93 double modulo(double x, double y); |
99 | 94 |
100 // Custom implementation of math functions. | 95 // Custom implementation of math functions. |
101 double fast_sin(double input); | 96 double fast_sin(double input); |
102 double fast_cos(double input); | 97 double fast_cos(double input); |
103 double fast_tan(double input); | 98 double fast_tan(double input); |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 | 159 |
165 // ---------------------------------------------------------------------------- | 160 // ---------------------------------------------------------------------------- |
166 // OS | 161 // OS |
167 // | 162 // |
168 // This class has static methods for the different platform specific | 163 // This class has static methods for the different platform specific |
169 // functions. Add methods here to cope with differences between the | 164 // functions. Add methods here to cope with differences between the |
170 // supported platforms. | 165 // supported platforms. |
171 | 166 |
172 class OS { | 167 class OS { |
173 public: | 168 public: |
174 // Initializes the platform OS support. Called once at VM startup. | |
175 static void SetUp(); | |
176 | |
177 // Initializes the platform OS support that depend on CPU features. This is | 169 // Initializes the platform OS support that depend on CPU features. This is |
178 // called after CPU initialization. | 170 // called after CPU initialization. |
179 static void PostSetUp(); | 171 static void PostSetUp(); |
180 | 172 |
181 // Returns the accumulated user time for thread. This routine | 173 // Returns the accumulated user time for thread. This routine |
182 // can be used for profiling. The implementation should | 174 // can be used for profiling. The implementation should |
183 // strive for high-precision timer resolution, preferable | 175 // strive for high-precision timer resolution, preferable |
184 // micro-second resolution. | 176 // micro-second resolution. |
185 static int GetUserTime(uint32_t* secs, uint32_t* usecs); | 177 static int GetUserTime(uint32_t* secs, uint32_t* usecs); |
186 | 178 |
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
598 char name_[kMaxThreadNameLength]; | 590 char name_[kMaxThreadNameLength]; |
599 int stack_size_; | 591 int stack_size_; |
600 Semaphore* start_semaphore_; | 592 Semaphore* start_semaphore_; |
601 | 593 |
602 DISALLOW_COPY_AND_ASSIGN(Thread); | 594 DISALLOW_COPY_AND_ASSIGN(Thread); |
603 }; | 595 }; |
604 | 596 |
605 } } // namespace v8::internal | 597 } } // namespace v8::internal |
606 | 598 |
607 #endif // V8_PLATFORM_H_ | 599 #endif // V8_PLATFORM_H_ |
OLD | NEW |