Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(926)

Side by Side Diff: src/platform-macos.cc

Issue 2601: Fixed build problem on mac, lint issues and a test failure on win32. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 12 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | src/platform-win32.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 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 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 125
126 double OS::LocalTimeOffset() { 126 double OS::LocalTimeOffset() {
127 time_t tv = time(NULL); 127 time_t tv = time(NULL);
128 struct tm* t = localtime(&tv); 128 struct tm* t = localtime(&tv);
129 // tm_gmtoff includes any daylight savings offset, so subtract it. 129 // tm_gmtoff includes any daylight savings offset, so subtract it.
130 return static_cast<double>(t->tm_gmtoff * msPerSecond - 130 return static_cast<double>(t->tm_gmtoff * msPerSecond -
131 (t->tm_isdst > 0 ? 3600 * msPerSecond : 0)); 131 (t->tm_isdst > 0 ? 3600 * msPerSecond : 0));
132 } 132 }
133 133
134 134
135 FILE* OS::FOpen(const char* path, const char* mode) {
136 return fopen(path, mode);
137 }
138
139
135 void OS::Print(const char* format, ...) { 140 void OS::Print(const char* format, ...) {
136 va_list args; 141 va_list args;
137 va_start(args, format); 142 va_start(args, format);
138 VPrint(format, args); 143 VPrint(format, args);
139 va_end(args); 144 va_end(args);
140 } 145 }
141 146
142 147
143 void OS::VPrint(const char* format, va_list args) { 148 void OS::VPrint(const char* format, va_list args) {
144 vprintf(format, args); 149 vprintf(format, args);
145 } 150 }
146 151
147 152
148 void OS::PrintError(const char* format, ...) { 153 void OS::PrintError(const char* format, ...) {
149 va_list args; 154 va_list args;
150 va_start(args, format); 155 va_start(args, format);
151 VPrintError(format, args); 156 VPrintError(format, args);
152 va_end(args); 157 va_end(args);
153 } 158 }
154 159
155 160
156 void OS::VPrintError(const char* format, va_list args) { 161 void OS::VPrintError(const char* format, va_list args) {
157 vfprintf(stderr, format, args); 162 vfprintf(stderr, format, args);
158 } 163 }
159 164
160 165
161 int OS::SNPrintF(char* str, size_t size, const char* format, ...) { 166 int OS::SNPrintF(Vector<char> str, const char* format, ...) {
162 va_list args; 167 va_list args;
163 va_start(args, format); 168 va_start(args, format);
164 int result = VSNPrintF(str, size, format, args); 169 int result = VSNPrintF(str, format, args);
165 va_end(args); 170 va_end(args);
166 return result; 171 return result;
167 } 172 }
168 173
169 174
170 int OS::VSNPrintF(char* str, size_t size, const char* format, va_list args) { 175 int OS::VSNPrintF(Vector<char> str,
171 int n = vsnprintf(str, size, format, args); // forward to Mac OS X. 176 const char* format,
172 if (n < 0 || static_cast<size_t>(n) >= size) { 177 va_list args) {
173 str[size - 1] = '\0'; 178 int n = vsnprintf(str.start(), str.length(), format, args);
179 if (n < 0 || n >= str.length()) {
180 str[str.length() - 1] = '\0';
174 return -1; 181 return -1;
175 } else { 182 } else {
176 return n; 183 return n;
177 } 184 }
178 } 185 }
179 186
180 187
188 void OS::StrNCpy(Vector<char> dest, const char* src, size_t n) {
189 strncpy(dest.start(), src, n);
190 }
191
192
193 void OS::WcsCpy(Vector<wchar_t> dest, const wchar_t* src) {
194 wcscpy(dest.start(), src);
195 }
196
197
198 char *OS::StrDup(const char* str) {
199 return strdup(str);
200 }
201
202
181 // We keep the lowest and highest addresses mapped as a quick way of 203 // We keep the lowest and highest addresses mapped as a quick way of
182 // determining that pointers are outside the heap (used mostly in assertions 204 // determining that pointers are outside the heap (used mostly in assertions
183 // and verification). The estimate is conservative, ie, not all addresses in 205 // and verification). The estimate is conservative, ie, not all addresses in
184 // 'allocated' space are actually allocated to our heap. The range is 206 // 'allocated' space are actually allocated to our heap. The range is
185 // [lowest, highest), inclusive on the low and and exclusive on the high end. 207 // [lowest, highest), inclusive on the low and and exclusive on the high end.
186 static void* lowest_ever_allocated = reinterpret_cast<void*>(-1); 208 static void* lowest_ever_allocated = reinterpret_cast<void*>(-1);
187 static void* highest_ever_allocated = reinterpret_cast<void*>(0); 209 static void* highest_ever_allocated = reinterpret_cast<void*>(0);
188 210
189 211
190 static void UpdateAllocatedSpaceLimits(void* address, int size) { 212 static void UpdateAllocatedSpaceLimits(void* address, int size) {
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 symbols = backtrace_symbols(addresses, frames_count); 314 symbols = backtrace_symbols(addresses, frames_count);
293 if (symbols == NULL) { 315 if (symbols == NULL) {
294 DeleteArray(addresses); 316 DeleteArray(addresses);
295 return kStackWalkError; 317 return kStackWalkError;
296 } 318 }
297 319
298 for (int i = 0; i < frames_count; i++) { 320 for (int i = 0; i < frames_count; i++) {
299 frames[i].address = addresses[i]; 321 frames[i].address = addresses[i];
300 // Format a text representation of the frame based on the information 322 // Format a text representation of the frame based on the information
301 // available. 323 // available.
302 SNPrintF(frames[i].text, kStackWalkMaxTextLen, "%s", symbols[i]); 324 SNPrintF(MutableCStrVector(frames[i].text,
325 kStackWalkMaxTextLen),
326 "%s",
327 symbols[i]);
303 // Make sure line termination is in place. 328 // Make sure line termination is in place.
304 frames[i].text[kStackWalkMaxTextLen - 1] = '\0'; 329 frames[i].text[kStackWalkMaxTextLen - 1] = '\0';
305 } 330 }
306 331
307 DeleteArray(addresses); 332 DeleteArray(addresses);
308 free(symbols); 333 free(symbols);
309 334
310 return frames_count; 335 return frames_count;
311 #endif 336 #endif
312 } 337 }
(...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after
609 } 634 }
610 635
611 // This sampler is no longer the active sampler. 636 // This sampler is no longer the active sampler.
612 active_sampler_ = NULL; 637 active_sampler_ = NULL;
613 active_ = false; 638 active_ = false;
614 } 639 }
615 640
616 #endif // ENABLE_LOGGING_AND_PROFILING 641 #endif // ENABLE_LOGGING_AND_PROFILING
617 642
618 } } // namespace v8::internal 643 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | src/platform-win32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698