OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 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 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
303 Append("\\,"); | 303 Append("\\,"); |
304 } else if (c == '\\') { | 304 } else if (c == '\\') { |
305 Append("\\\\"); | 305 Append("\\\\"); |
306 } else { | 306 } else { |
307 Append("%lc", c); | 307 Append("%lc", c); |
308 } | 308 } |
309 } | 309 } |
310 } | 310 } |
311 | 311 |
312 | 312 |
| 313 void LogMessageBuilder::AppendStringPart(const char* str, int len) { |
| 314 if (pos_ + len > Log::kMessageBufferSize) { |
| 315 len = Log::kMessageBufferSize - pos_; |
| 316 ASSERT(len >= 0); |
| 317 if (len == 0) return; |
| 318 } |
| 319 strncpy(Log::message_buffer_ + pos_, str, len); |
| 320 pos_ += len; |
| 321 ASSERT(pos_ <= Log::kMessageBufferSize); |
| 322 } |
| 323 |
| 324 |
313 bool LogMessageBuilder::StoreInCompressor(LogRecordCompressor* compressor) { | 325 bool LogMessageBuilder::StoreInCompressor(LogRecordCompressor* compressor) { |
314 return compressor->Store(Vector<const char>(Log::message_buffer_, pos_)); | 326 return compressor->Store(Vector<const char>(Log::message_buffer_, pos_)); |
315 } | 327 } |
316 | 328 |
317 | 329 |
318 bool LogMessageBuilder::RetrieveCompressedPrevious( | 330 bool LogMessageBuilder::RetrieveCompressedPrevious( |
319 LogRecordCompressor* compressor, const char* prefix) { | 331 LogRecordCompressor* compressor, const char* prefix) { |
320 pos_ = 0; | 332 pos_ = 0; |
321 if (prefix[0] != '\0') Append(prefix); | 333 if (prefix[0] != '\0') Append(prefix); |
322 Vector<char> prev_record(Log::message_buffer_ + pos_, | 334 Vector<char> prev_record(Log::message_buffer_ + pos_, |
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
480 PrintBackwardReference(backref, best.distance, best.copy_from_pos); | 492 PrintBackwardReference(backref, best.distance, best.copy_from_pos); |
481 ASSERT(strlen(backref.start()) - best.backref_size == 0); | 493 ASSERT(strlen(backref.start()) - best.backref_size == 0); |
482 prev_record->Truncate(unchanged_len + best.backref_size); | 494 prev_record->Truncate(unchanged_len + best.backref_size); |
483 } | 495 } |
484 return true; | 496 return true; |
485 } | 497 } |
486 | 498 |
487 #endif // ENABLE_LOGGING_AND_PROFILING | 499 #endif // ENABLE_LOGGING_AND_PROFILING |
488 | 500 |
489 } } // namespace v8::internal | 501 } } // namespace v8::internal |
OLD | NEW |