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

Side by Side Diff: src/factory.h

Issue 1370153002: [heap] Cleanup string factory methods a bit. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@local_cleanup-heap-macro-2
Patch Set: Remove dead test. Created 5 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
« no previous file with comments | « no previous file | src/factory.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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_FACTORY_H_ 5 #ifndef V8_FACTORY_H_
6 #define V8_FACTORY_H_ 6 #define V8_FACTORY_H_
7 7
8 #include "src/isolate.h" 8 #include "src/isolate.h"
9 #include "src/messages.h" 9 #include "src/messages.h"
10 10
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 MUST_USE_RESULT MaybeHandle<String> NewStringFromUtf8( 149 MUST_USE_RESULT MaybeHandle<String> NewStringFromUtf8(
150 Vector<const char> str, 150 Vector<const char> str,
151 PretenureFlag pretenure = NOT_TENURED); 151 PretenureFlag pretenure = NOT_TENURED);
152 152
153 MUST_USE_RESULT MaybeHandle<String> NewStringFromTwoByte( 153 MUST_USE_RESULT MaybeHandle<String> NewStringFromTwoByte(
154 Vector<const uc16> str, 154 Vector<const uc16> str,
155 PretenureFlag pretenure = NOT_TENURED); 155 PretenureFlag pretenure = NOT_TENURED);
156 156
157 // Allocates an internalized string in old space based on the character 157 // Allocates an internalized string in old space based on the character
158 // stream. 158 // stream.
159 MUST_USE_RESULT Handle<String> NewInternalizedStringFromUtf8( 159 Handle<String> NewInternalizedStringFromUtf8(Vector<const char> str,
160 Vector<const char> str, 160 int chars, uint32_t hash_field);
161 int chars,
162 uint32_t hash_field);
163 161
164 MUST_USE_RESULT Handle<String> NewOneByteInternalizedString( 162 Handle<String> NewOneByteInternalizedString(Vector<const uint8_t> str,
165 Vector<const uint8_t> str, uint32_t hash_field); 163 uint32_t hash_field);
166 164
167 MUST_USE_RESULT Handle<String> NewOneByteInternalizedSubString( 165 Handle<String> NewOneByteInternalizedSubString(
168 Handle<SeqOneByteString> string, int offset, int length, 166 Handle<SeqOneByteString> string, int offset, int length,
169 uint32_t hash_field); 167 uint32_t hash_field);
170 168
171 MUST_USE_RESULT Handle<String> NewTwoByteInternalizedString( 169 Handle<String> NewTwoByteInternalizedString(Vector<const uc16> str,
172 Vector<const uc16> str, 170 uint32_t hash_field);
173 uint32_t hash_field);
174 171
175 MUST_USE_RESULT Handle<String> NewInternalizedStringImpl( 172 Handle<String> NewInternalizedStringImpl(Handle<String> string, int chars,
176 Handle<String> string, int chars, uint32_t hash_field); 173 uint32_t hash_field);
177 174
178 // Compute the matching internalized string map for a string if possible. 175 // Compute the matching internalized string map for a string if possible.
179 // Empty handle is returned if string is in new space or not flattened. 176 // Empty handle is returned if string is in new space or not flattened.
180 MUST_USE_RESULT MaybeHandle<Map> InternalizedStringMapForString( 177 MUST_USE_RESULT MaybeHandle<Map> InternalizedStringMapForString(
181 Handle<String> string); 178 Handle<String> string);
182 179
183 // Allocates and partially initializes an one-byte or two-byte String. The 180 // Allocates and partially initializes an one-byte or two-byte String. The
184 // characters of the string are uninitialized. Currently used in regexp code 181 // characters of the string are uninitialized. Currently used in regexp code
185 // only, where they are pretenured. 182 // only, where they are pretenured.
186 MUST_USE_RESULT MaybeHandle<SeqOneByteString> NewRawOneByteString( 183 MUST_USE_RESULT MaybeHandle<SeqOneByteString> NewRawOneByteString(
187 int length, 184 int length,
188 PretenureFlag pretenure = NOT_TENURED); 185 PretenureFlag pretenure = NOT_TENURED);
189 MUST_USE_RESULT MaybeHandle<SeqTwoByteString> NewRawTwoByteString( 186 MUST_USE_RESULT MaybeHandle<SeqTwoByteString> NewRawTwoByteString(
190 int length, 187 int length,
191 PretenureFlag pretenure = NOT_TENURED); 188 PretenureFlag pretenure = NOT_TENURED);
192 189
193 // Creates a single character string where the character has given code. 190 // Creates a single character string where the character has given code.
194 // A cache is used for Latin1 codes. 191 // A cache is used for Latin1 codes.
195 Handle<String> LookupSingleCharacterStringFromCode(uint32_t code); 192 Handle<String> LookupSingleCharacterStringFromCode(uint32_t code);
196 193
197 // Create a new cons string object which consists of a pair of strings. 194 // Create a new cons string object which consists of a pair of strings.
198 MUST_USE_RESULT MaybeHandle<String> NewConsString(Handle<String> left, 195 MUST_USE_RESULT MaybeHandle<String> NewConsString(Handle<String> left,
199 Handle<String> right); 196 Handle<String> right);
200 MUST_USE_RESULT MaybeHandle<String> NewOneByteConsString(
201 int length, Handle<String> left, Handle<String> right);
202 MUST_USE_RESULT MaybeHandle<String> NewTwoByteConsString(
203 int length, Handle<String> left, Handle<String> right);
204 MUST_USE_RESULT MaybeHandle<String> NewRawConsString(Handle<Map> map,
205 int length,
206 Handle<String> left,
207 Handle<String> right);
208 197
209 // Create a new string object which holds a proper substring of a string. 198 // Create a new string object which holds a proper substring of a string.
210 Handle<String> NewProperSubString(Handle<String> str, 199 Handle<String> NewProperSubString(Handle<String> str,
211 int begin, 200 int begin,
212 int end); 201 int end);
213 202
214 // Create a new string object which holds a substring of a string. 203 // Create a new string object which holds a substring of a string.
215 Handle<String> NewSubString(Handle<String> str, int begin, int end) { 204 Handle<String> NewSubString(Handle<String> str, int begin, int end) {
216 if (begin == 0 && end == str->length()) return str; 205 if (begin == 0 && end == str->length()) return str;
217 return NewProperSubString(str, begin, end); 206 return NewProperSubString(str, begin, end);
(...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after
727 // Reinitialize a JSProxy into an (empty) JS object of respective type and 716 // Reinitialize a JSProxy into an (empty) JS object of respective type and
728 // size, but keeping the original prototype. The receiver must have at least 717 // size, but keeping the original prototype. The receiver must have at least
729 // the size of the new object. The object is reinitialized and behaves as an 718 // the size of the new object. The object is reinitialized and behaves as an
730 // object that has been freshly allocated. 719 // object that has been freshly allocated.
731 void ReinitializeJSProxy(Handle<JSProxy> proxy, InstanceType type, int size); 720 void ReinitializeJSProxy(Handle<JSProxy> proxy, InstanceType type, int size);
732 }; 721 };
733 722
734 } } // namespace v8::internal 723 } } // namespace v8::internal
735 724
736 #endif // V8_FACTORY_H_ 725 #endif // V8_FACTORY_H_
OLDNEW
« no previous file with comments | « no previous file | src/factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698