| 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 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 const char* OS::LocalTimezone(double time) { | 118 const char* OS::LocalTimezone(double time) { |
| 119 if (isnan(time)) return ""; | 119 if (isnan(time)) return ""; |
| 120 time_t tv = static_cast<time_t>(floor(time/msPerSecond)); | 120 time_t tv = static_cast<time_t>(floor(time/msPerSecond)); |
| 121 struct tm* t = localtime(&tv); | 121 struct tm* t = localtime(&tv); |
| 122 if (NULL == t) return ""; | 122 if (NULL == t) return ""; |
| 123 return tzname[0]; // The location of the timezone string on Solaris. | 123 return tzname[0]; // The location of the timezone string on Solaris. |
| 124 } | 124 } |
| 125 | 125 |
| 126 | 126 |
| 127 double OS::LocalTimeOffset() { | 127 double OS::LocalTimeOffset() { |
| 128 // On Solaris, struct tm does not contain a tm_gmtoff field. | 128 tzset(); |
| 129 time_t utc = time(NULL); | 129 return -static_cast<double>(timezone * msPerSecond); |
| 130 ASSERT(utc != -1); | |
| 131 struct tm* loc = localtime(&utc); | |
| 132 ASSERT(loc != NULL); | |
| 133 return static_cast<double>((mktime(loc) - utc) * msPerSecond); | |
| 134 } | 130 } |
| 135 | 131 |
| 136 | 132 |
| 137 // We keep the lowest and highest addresses mapped as a quick way of | 133 // We keep the lowest and highest addresses mapped as a quick way of |
| 138 // determining that pointers are outside the heap (used mostly in assertions | 134 // determining that pointers are outside the heap (used mostly in assertions |
| 139 // and verification). The estimate is conservative, i.e., not all addresses in | 135 // and verification). The estimate is conservative, i.e., not all addresses in |
| 140 // 'allocated' space are actually allocated to our heap. The range is | 136 // 'allocated' space are actually allocated to our heap. The range is |
| 141 // [lowest, highest), inclusive on the low and and exclusive on the high end. | 137 // [lowest, highest), inclusive on the low and and exclusive on the high end. |
| 142 static void* lowest_ever_allocated = reinterpret_cast<void*>(-1); | 138 static void* lowest_ever_allocated = reinterpret_cast<void*>(-1); |
| 143 static void* highest_ever_allocated = reinterpret_cast<void*>(0); | 139 static void* highest_ever_allocated = reinterpret_cast<void*>(0); |
| (...skipping 750 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 894 } | 890 } |
| 895 | 891 |
| 896 | 892 |
| 897 void Sampler::Stop() { | 893 void Sampler::Stop() { |
| 898 ASSERT(IsActive()); | 894 ASSERT(IsActive()); |
| 899 SignalSender::RemoveActiveSampler(this); | 895 SignalSender::RemoveActiveSampler(this); |
| 900 SetActive(false); | 896 SetActive(false); |
| 901 } | 897 } |
| 902 | 898 |
| 903 } } // namespace v8::internal | 899 } } // namespace v8::internal |
| OLD | NEW |