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 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 return 0; // Solaris runs on a lot of things. | 104 return 0; // Solaris runs on a lot of things. |
105 } | 105 } |
106 | 106 |
107 | 107 |
108 int OS::ActivationFrameAlignment() { | 108 int OS::ActivationFrameAlignment() { |
109 // GCC generates code that requires 16 byte alignment such as movdqa. | 109 // GCC generates code that requires 16 byte alignment such as movdqa. |
110 return Max(STACK_ALIGN, 16); | 110 return Max(STACK_ALIGN, 16); |
111 } | 111 } |
112 | 112 |
113 | 113 |
114 void OS::ReleaseStore(volatile AtomicWord* ptr, AtomicWord value) { | |
115 __asm__ __volatile__("" : : : "memory"); | |
116 *ptr = value; | |
117 } | |
118 | |
119 | |
120 const char* OS::LocalTimezone(double time) { | 114 const char* OS::LocalTimezone(double time) { |
121 if (std::isnan(time)) return ""; | 115 if (std::isnan(time)) return ""; |
122 time_t tv = static_cast<time_t>(floor(time/msPerSecond)); | 116 time_t tv = static_cast<time_t>(floor(time/msPerSecond)); |
123 struct tm* t = localtime(&tv); | 117 struct tm* t = localtime(&tv); |
124 if (NULL == t) return ""; | 118 if (NULL == t) return ""; |
125 return tzname[0]; // The location of the timezone string on Solaris. | 119 return tzname[0]; // The location of the timezone string on Solaris. |
126 } | 120 } |
127 | 121 |
128 | 122 |
129 double OS::LocalTimeOffset() { | 123 double OS::LocalTimeOffset() { |
(...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
674 limit_mutex = CreateMutex(); | 668 limit_mutex = CreateMutex(); |
675 } | 669 } |
676 | 670 |
677 | 671 |
678 void OS::TearDown() { | 672 void OS::TearDown() { |
679 delete limit_mutex; | 673 delete limit_mutex; |
680 } | 674 } |
681 | 675 |
682 | 676 |
683 } } // namespace v8::internal | 677 } } // namespace v8::internal |
OLD | NEW |