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

Side by Side Diff: src/objects.h

Issue 8304021: Improve speed of Utf8Write by always flattening the string first and (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 9 years, 2 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 | « src/api.cc ('k') | src/objects.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 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 6039 matching lines...) Expand 10 before | Expand all | Expand 10 after
6050 SmartArrayPointer<char> ToCString(AllowNullsFlag allow_nulls, 6050 SmartArrayPointer<char> ToCString(AllowNullsFlag allow_nulls,
6051 RobustnessFlag robustness_flag, 6051 RobustnessFlag robustness_flag,
6052 int offset, 6052 int offset,
6053 int length, 6053 int length,
6054 int* length_output = 0); 6054 int* length_output = 0);
6055 SmartArrayPointer<char> ToCString( 6055 SmartArrayPointer<char> ToCString(
6056 AllowNullsFlag allow_nulls = DISALLOW_NULLS, 6056 AllowNullsFlag allow_nulls = DISALLOW_NULLS,
6057 RobustnessFlag robustness_flag = FAST_STRING_TRAVERSAL, 6057 RobustnessFlag robustness_flag = FAST_STRING_TRAVERSAL,
6058 int* length_output = 0); 6058 int* length_output = 0);
6059 6059
6060 int Utf8Length(); 6060 inline int Utf8Length() { return Utf8Length(this, 0, length()); }
6061 static int Utf8Length(String* input, int from, int to);
6061 6062
6062 // Return a 16 bit Unicode representation of the string. 6063 // Return a 16 bit Unicode representation of the string.
6063 // The string should be nearly flat, otherwise the performance of 6064 // The string should be nearly flat, otherwise the performance of
6064 // of this method may be very bad. Setting robustness_flag to 6065 // of this method may be very bad. Setting robustness_flag to
6065 // ROBUST_STRING_TRAVERSAL invokes behaviour that is robust This means it 6066 // ROBUST_STRING_TRAVERSAL invokes behaviour that is robust This means it
6066 // handles unexpected data without causing assert failures and it does not 6067 // handles unexpected data without causing assert failures and it does not
6067 // do any heap allocations. This is useful when printing stack traces. 6068 // do any heap allocations. This is useful when printing stack traces.
6068 SmartArrayPointer<uc16> ToWideCString( 6069 SmartArrayPointer<uc16> ToWideCString(
6069 RobustnessFlag robustness_flag = FAST_STRING_TRAVERSAL); 6070 RobustnessFlag robustness_flag = FAST_STRING_TRAVERSAL);
6070 6071
(...skipping 1518 matching lines...) Expand 10 before | Expand all | Expand 10 after
7589 } else { 7590 } else {
7590 value &= ~(1 << bit_position); 7591 value &= ~(1 << bit_position);
7591 } 7592 }
7592 return value; 7593 return value;
7593 } 7594 }
7594 }; 7595 };
7595 7596
7596 } } // namespace v8::internal 7597 } } // namespace v8::internal
7597 7598
7598 #endif // V8_OBJECTS_H_ 7599 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/api.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698