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

Side by Side Diff: src/log-utils.cc

Issue 209028: Heap profiler: count the number of back references for objects. (Closed)
Patch Set: Comments addressed Created 11 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
« no previous file with comments | « src/log-utils.h ('k') | test/cctest/test-heap-profiler.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 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
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
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
OLDNEW
« no previous file with comments | « src/log-utils.h ('k') | test/cctest/test-heap-profiler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698