OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <stdarg.h> | 5 #include <stdarg.h> |
6 #include <sys/stat.h> | 6 #include <sys/stat.h> |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/checks.h" | 10 #include "src/base/logging.h" |
11 #include "src/platform.h" | 11 #include "src/base/platform/platform.h" |
12 #include "src/utils.h" | 12 #include "src/utils.h" |
13 | 13 |
14 namespace v8 { | 14 namespace v8 { |
15 namespace internal { | 15 namespace internal { |
16 | 16 |
17 | 17 |
18 SimpleStringBuilder::SimpleStringBuilder(int size) { | 18 SimpleStringBuilder::SimpleStringBuilder(int size) { |
19 buffer_ = Vector<char>::New(size); | 19 buffer_ = Vector<char>::New(size); |
20 position_ = 0; | 20 position_ = 0; |
21 } | 21 } |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 ASSERT(strlen(buffer_.start()) == static_cast<size_t>(position_)); | 73 ASSERT(strlen(buffer_.start()) == static_cast<size_t>(position_)); |
74 position_ = -1; | 74 position_ = -1; |
75 ASSERT(is_finalized()); | 75 ASSERT(is_finalized()); |
76 return buffer_.start(); | 76 return buffer_.start(); |
77 } | 77 } |
78 | 78 |
79 | 79 |
80 void PrintF(const char* format, ...) { | 80 void PrintF(const char* format, ...) { |
81 va_list arguments; | 81 va_list arguments; |
82 va_start(arguments, format); | 82 va_start(arguments, format); |
83 OS::VPrint(format, arguments); | 83 base::OS::VPrint(format, arguments); |
84 va_end(arguments); | 84 va_end(arguments); |
85 } | 85 } |
86 | 86 |
87 | 87 |
88 void PrintF(FILE* out, const char* format, ...) { | 88 void PrintF(FILE* out, const char* format, ...) { |
89 va_list arguments; | 89 va_list arguments; |
90 va_start(arguments, format); | 90 va_start(arguments, format); |
91 OS::VFPrint(out, format, arguments); | 91 base::OS::VFPrint(out, format, arguments); |
92 va_end(arguments); | 92 va_end(arguments); |
93 } | 93 } |
94 | 94 |
95 | 95 |
96 void PrintPID(const char* format, ...) { | 96 void PrintPID(const char* format, ...) { |
97 OS::Print("[%d] ", OS::GetCurrentProcessId()); | 97 base::OS::Print("[%d] ", base::OS::GetCurrentProcessId()); |
98 va_list arguments; | 98 va_list arguments; |
99 va_start(arguments, format); | 99 va_start(arguments, format); |
100 OS::VPrint(format, arguments); | 100 base::OS::VPrint(format, arguments); |
101 va_end(arguments); | 101 va_end(arguments); |
102 } | 102 } |
103 | 103 |
104 | 104 |
105 int SNPrintF(Vector<char> str, const char* format, ...) { | 105 int SNPrintF(Vector<char> str, const char* format, ...) { |
106 va_list args; | 106 va_list args; |
107 va_start(args, format); | 107 va_start(args, format); |
108 int result = VSNPrintF(str, format, args); | 108 int result = VSNPrintF(str, format, args); |
109 va_end(args); | 109 va_end(args); |
110 return result; | 110 return result; |
111 } | 111 } |
112 | 112 |
113 | 113 |
114 int VSNPrintF(Vector<char> str, const char* format, va_list args) { | 114 int VSNPrintF(Vector<char> str, const char* format, va_list args) { |
115 return OS::VSNPrintF(str.start(), str.length(), format, args); | 115 return base::OS::VSNPrintF(str.start(), str.length(), format, args); |
116 } | 116 } |
117 | 117 |
118 | 118 |
119 void StrNCpy(Vector<char> dest, const char* src, size_t n) { | 119 void StrNCpy(Vector<char> dest, const char* src, size_t n) { |
120 OS::StrNCpy(dest.start(), dest.length(), src, n); | 120 base::OS::StrNCpy(dest.start(), dest.length(), src, n); |
121 } | 121 } |
122 | 122 |
123 | 123 |
124 void Flush(FILE* out) { | 124 void Flush(FILE* out) { |
125 fflush(out); | 125 fflush(out); |
126 } | 126 } |
127 | 127 |
128 | 128 |
129 char* ReadLine(const char* prompt) { | 129 char* ReadLine(const char* prompt) { |
130 char* result = NULL; | 130 char* result = NULL; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 } | 178 } |
179 | 179 |
180 | 180 |
181 char* ReadCharsFromFile(FILE* file, | 181 char* ReadCharsFromFile(FILE* file, |
182 int* size, | 182 int* size, |
183 int extra_space, | 183 int extra_space, |
184 bool verbose, | 184 bool verbose, |
185 const char* filename) { | 185 const char* filename) { |
186 if (file == NULL || fseek(file, 0, SEEK_END) != 0) { | 186 if (file == NULL || fseek(file, 0, SEEK_END) != 0) { |
187 if (verbose) { | 187 if (verbose) { |
188 OS::PrintError("Cannot read from file %s.\n", filename); | 188 base::OS::PrintError("Cannot read from file %s.\n", filename); |
189 } | 189 } |
190 return NULL; | 190 return NULL; |
191 } | 191 } |
192 | 192 |
193 // Get the size of the file and rewind it. | 193 // Get the size of the file and rewind it. |
194 *size = ftell(file); | 194 *size = ftell(file); |
195 rewind(file); | 195 rewind(file); |
196 | 196 |
197 char* result = NewArray<char>(*size + extra_space); | 197 char* result = NewArray<char>(*size + extra_space); |
198 for (int i = 0; i < *size && feof(file) == 0;) { | 198 for (int i = 0; i < *size && feof(file) == 0;) { |
199 int read = static_cast<int>(fread(&result[i], 1, *size - i, file)); | 199 int read = static_cast<int>(fread(&result[i], 1, *size - i, file)); |
200 if (read != (*size - i) && ferror(file) != 0) { | 200 if (read != (*size - i) && ferror(file) != 0) { |
201 fclose(file); | 201 fclose(file); |
202 DeleteArray(result); | 202 DeleteArray(result); |
203 return NULL; | 203 return NULL; |
204 } | 204 } |
205 i += read; | 205 i += read; |
206 } | 206 } |
207 return result; | 207 return result; |
208 } | 208 } |
209 | 209 |
210 | 210 |
211 char* ReadCharsFromFile(const char* filename, | 211 char* ReadCharsFromFile(const char* filename, |
212 int* size, | 212 int* size, |
213 int extra_space, | 213 int extra_space, |
214 bool verbose) { | 214 bool verbose) { |
215 FILE* file = OS::FOpen(filename, "rb"); | 215 FILE* file = base::OS::FOpen(filename, "rb"); |
216 char* result = ReadCharsFromFile(file, size, extra_space, verbose, filename); | 216 char* result = ReadCharsFromFile(file, size, extra_space, verbose, filename); |
217 if (file != NULL) fclose(file); | 217 if (file != NULL) fclose(file); |
218 return result; | 218 return result; |
219 } | 219 } |
220 | 220 |
221 | 221 |
222 byte* ReadBytes(const char* filename, int* size, bool verbose) { | 222 byte* ReadBytes(const char* filename, int* size, bool verbose) { |
223 char* chars = ReadCharsFromFile(filename, size, 0, verbose); | 223 char* chars = ReadCharsFromFile(filename, size, 0, verbose); |
224 return reinterpret_cast<byte*>(chars); | 224 return reinterpret_cast<byte*>(chars); |
225 } | 225 } |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 str += write; | 267 str += write; |
268 } | 268 } |
269 return total; | 269 return total; |
270 } | 270 } |
271 | 271 |
272 | 272 |
273 int AppendChars(const char* filename, | 273 int AppendChars(const char* filename, |
274 const char* str, | 274 const char* str, |
275 int size, | 275 int size, |
276 bool verbose) { | 276 bool verbose) { |
277 FILE* f = OS::FOpen(filename, "ab"); | 277 FILE* f = base::OS::FOpen(filename, "ab"); |
278 if (f == NULL) { | 278 if (f == NULL) { |
279 if (verbose) { | 279 if (verbose) { |
280 OS::PrintError("Cannot open file %s for writing.\n", filename); | 280 base::OS::PrintError("Cannot open file %s for writing.\n", filename); |
281 } | 281 } |
282 return 0; | 282 return 0; |
283 } | 283 } |
284 int written = WriteCharsToFile(str, size, f); | 284 int written = WriteCharsToFile(str, size, f); |
285 fclose(f); | 285 fclose(f); |
286 return written; | 286 return written; |
287 } | 287 } |
288 | 288 |
289 | 289 |
290 int WriteChars(const char* filename, | 290 int WriteChars(const char* filename, |
291 const char* str, | 291 const char* str, |
292 int size, | 292 int size, |
293 bool verbose) { | 293 bool verbose) { |
294 FILE* f = OS::FOpen(filename, "wb"); | 294 FILE* f = base::OS::FOpen(filename, "wb"); |
295 if (f == NULL) { | 295 if (f == NULL) { |
296 if (verbose) { | 296 if (verbose) { |
297 OS::PrintError("Cannot open file %s for writing.\n", filename); | 297 base::OS::PrintError("Cannot open file %s for writing.\n", filename); |
298 } | 298 } |
299 return 0; | 299 return 0; |
300 } | 300 } |
301 int written = WriteCharsToFile(str, size, f); | 301 int written = WriteCharsToFile(str, size, f); |
302 fclose(f); | 302 fclose(f); |
303 return written; | 303 return written; |
304 } | 304 } |
305 | 305 |
306 | 306 |
307 int WriteBytes(const char* filename, | 307 int WriteBytes(const char* filename, |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
408 } | 408 } |
409 if (u.bits.exp == 0) { | 409 if (u.bits.exp == 0) { |
410 // Detect +0, and -0 for IEEE double precision floating point. | 410 // Detect +0, and -0 for IEEE double precision floating point. |
411 if ((u.bits.man_low | u.bits.man_high) == 0) return false; | 411 if ((u.bits.man_low | u.bits.man_high) == 0) return false; |
412 } | 412 } |
413 return true; | 413 return true; |
414 } | 414 } |
415 | 415 |
416 | 416 |
417 } } // namespace v8::internal | 417 } } // namespace v8::internal |
OLD | NEW |