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

Side by Side Diff: src/factory.h

Issue 11469014: Add a safe API for creating ASCII-only strings
Patch Set: Created 8 years 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/api.cc ('k') | src/factory.cc » ('j') | src/heap.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 // - ...FromTwoByte initializes the string from a buffer that is two 110 // - ...FromTwoByte initializes the string from a buffer that is two
111 // byte encoded. If the characters are all single-byte characters, 111 // byte encoded. If the characters are all single-byte characters,
112 // the result will be converted to ASCII, otherwise it will be left as 112 // the result will be converted to ASCII, otherwise it will be left as
113 // two byte. 113 // two byte.
114 // 114 //
115 // ASCII strings are pretenured when used as keys in the SourceCodeCache. 115 // ASCII strings are pretenured when used as keys in the SourceCodeCache.
116 Handle<String> NewStringFromAscii( 116 Handle<String> NewStringFromAscii(
117 Vector<const char> str, 117 Vector<const char> str,
118 PretenureFlag pretenure = NOT_TENURED); 118 PretenureFlag pretenure = NOT_TENURED);
119 119
120 Handle<String> NewStringFromAsciiSafe(
121 Vector<const char> str,
122 PretenureFlag pretenure = NOT_TENURED);
123
120 // UTF8 strings are pretenured when used for regexp literal patterns and 124 // UTF8 strings are pretenured when used for regexp literal patterns and
121 // flags in the parser. 125 // flags in the parser.
122 Handle<String> NewStringFromUtf8( 126 Handle<String> NewStringFromUtf8(
123 Vector<const char> str, 127 Vector<const char> str,
124 PretenureFlag pretenure = NOT_TENURED); 128 PretenureFlag pretenure = NOT_TENURED);
125 129
126 Handle<String> NewStringFromTwoByte( 130 Handle<String> NewStringFromTwoByte(
127 Vector<const uc16> str, 131 Vector<const uc16> str,
128 PretenureFlag pretenure = NOT_TENURED); 132 PretenureFlag pretenure = NOT_TENURED);
129 133
(...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 // Update the map cache in the native context with (keys, map) 516 // Update the map cache in the native context with (keys, map)
513 Handle<MapCache> AddToMapCache(Handle<Context> context, 517 Handle<MapCache> AddToMapCache(Handle<Context> context,
514 Handle<FixedArray> keys, 518 Handle<FixedArray> keys,
515 Handle<Map> map); 519 Handle<Map> map);
516 }; 520 };
517 521
518 522
519 } } // namespace v8::internal 523 } } // namespace v8::internal
520 524
521 #endif // V8_FACTORY_H_ 525 #endif // V8_FACTORY_H_
OLDNEW
« no previous file with comments | « src/api.cc ('k') | src/factory.cc » ('j') | src/heap.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698