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

Side by Side Diff: src/log.cc

Issue 14509012: HasOnlyAsciiChars can return incorrect results. Fixup usages and rename. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: fixed typo Created 7 years, 7 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
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 317 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 class Logger::NameBuffer { 328 class Logger::NameBuffer {
329 public: 329 public:
330 NameBuffer() { Reset(); } 330 NameBuffer() { Reset(); }
331 331
332 void Reset() { 332 void Reset() {
333 utf8_pos_ = 0; 333 utf8_pos_ = 0;
334 } 334 }
335 335
336 void AppendString(String* str) { 336 void AppendString(String* str) {
337 if (str == NULL) return; 337 if (str == NULL) return;
338 if (str->HasOnlyAsciiChars()) {
339 int utf8_length = Min(str->length(), kUtf8BufferSize - utf8_pos_);
340 String::WriteToFlat(str,
341 reinterpret_cast<uint8_t*>(utf8_buffer_ + utf8_pos_),
342 0,
343 utf8_length);
344 utf8_pos_ += utf8_length;
345 return;
346 }
347 int uc16_length = Min(str->length(), kUtf16BufferSize); 338 int uc16_length = Min(str->length(), kUtf16BufferSize);
348 String::WriteToFlat(str, utf16_buffer, 0, uc16_length); 339 String::WriteToFlat(str, utf16_buffer, 0, uc16_length);
349 int previous = unibrow::Utf16::kNoPreviousCharacter; 340 int previous = unibrow::Utf16::kNoPreviousCharacter;
350 for (int i = 0; i < uc16_length && utf8_pos_ < kUtf8BufferSize; ++i) { 341 for (int i = 0; i < uc16_length && utf8_pos_ < kUtf8BufferSize; ++i) {
351 uc16 c = utf16_buffer[i]; 342 uc16 c = utf16_buffer[i];
352 if (c <= unibrow::Utf8::kMaxOneByteChar) { 343 if (c <= unibrow::Utf8::kMaxOneByteChar) {
353 utf8_buffer_[utf8_pos_++] = static_cast<char>(c); 344 utf8_buffer_[utf8_pos_++] = static_cast<char>(c);
354 } else { 345 } else {
355 int char_length = unibrow::Utf8::Length(c, previous); 346 int char_length = unibrow::Utf8::Length(c, previous);
356 if (utf8_pos_ + char_length > kUtf8BufferSize) break; 347 if (utf8_pos_ + char_length > kUtf8BufferSize) break;
(...skipping 1536 matching lines...) Expand 10 before | Expand all | Expand 10 after
1893 profiler_ = NULL; 1884 profiler_ = NULL;
1894 } 1885 }
1895 1886
1896 delete ticker_; 1887 delete ticker_;
1897 ticker_ = NULL; 1888 ticker_ = NULL;
1898 1889
1899 return log_->Close(); 1890 return log_->Close();
1900 } 1891 }
1901 1892
1902 } } // namespace v8::internal 1893 } } // namespace v8::internal
OLDNEW
« include/v8.h ('K') | « src/ia32/code-stubs-ia32.cc ('k') | src/objects.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698