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

Side by Side Diff: src/factory.h

Issue 258953009: Refactor calls to CALL_HEAP_FUNCTION. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 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
« no previous file with comments | « src/api.cc ('k') | src/factory.cc » ('j') | src/objects.cc » ('J')
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 "isolate.h" 8 #include "isolate.h"
9 9
10 namespace v8 { 10 namespace v8 {
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 PretenureFlag pretenure = NOT_TENURED); 179 PretenureFlag pretenure = NOT_TENURED);
180 180
181 // Creates a single character string where the character has given code. 181 // Creates a single character string where the character has given code.
182 // A cache is used for ASCII codes. 182 // A cache is used for ASCII codes.
183 Handle<String> LookupSingleCharacterStringFromCode(uint32_t code); 183 Handle<String> LookupSingleCharacterStringFromCode(uint32_t code);
184 184
185 // Create a new cons string object which consists of a pair of strings. 185 // Create a new cons string object which consists of a pair of strings.
186 MUST_USE_RESULT MaybeHandle<String> NewConsString(Handle<String> left, 186 MUST_USE_RESULT MaybeHandle<String> NewConsString(Handle<String> left,
187 Handle<String> right); 187 Handle<String> right);
188 188
189 Handle<ConsString> NewRawConsString(String::Encoding encoding);
190
191 // Create a new sequential string containing the concatenation of the inputs. 189 // Create a new sequential string containing the concatenation of the inputs.
192 Handle<String> NewFlatConcatString(Handle<String> first, 190 Handle<String> NewFlatConcatString(Handle<String> first,
193 Handle<String> second); 191 Handle<String> second);
194 192
195 // Create a new string object which holds a proper substring of a string. 193 // Create a new string object which holds a proper substring of a string.
196 Handle<String> NewProperSubString(Handle<String> str, 194 Handle<String> NewProperSubString(Handle<String> str,
197 int begin, 195 int begin,
198 int end); 196 int end);
199 197
200 // Create a new string object which holds a substring of a string. 198 // Create a new string object which holds a substring of a string.
201 Handle<String> NewSubString(Handle<String> str, int begin, int end) { 199 Handle<String> NewSubString(Handle<String> str, int begin, int end) {
202 if (begin == 0 && end == str->length()) return str; 200 if (begin == 0 && end == str->length()) return str;
203 return NewProperSubString(str, begin, end); 201 return NewProperSubString(str, begin, end);
204 } 202 }
205 203
206 Handle<SlicedString> NewRawSlicedString(String::Encoding encoding);
207
208 // Creates a new external String object. There are two String encodings 204 // Creates a new external String object. There are two String encodings
209 // in the system: ASCII and two byte. Unlike other String types, it does 205 // in the system: ASCII and two byte. Unlike other String types, it does
210 // not make sense to have a UTF-8 factory function for external strings, 206 // not make sense to have a UTF-8 factory function for external strings,
211 // because we cannot change the underlying buffer. Note that these strings 207 // because we cannot change the underlying buffer. Note that these strings
212 // are backed by a string resource that resides outside the V8 heap. 208 // are backed by a string resource that resides outside the V8 heap.
213 MUST_USE_RESULT MaybeHandle<String> NewExternalStringFromAscii( 209 MUST_USE_RESULT MaybeHandle<String> NewExternalStringFromAscii(
214 const ExternalAsciiString::Resource* resource); 210 const ExternalAsciiString::Resource* resource);
215 MUST_USE_RESULT MaybeHandle<String> NewExternalStringFromTwoByte( 211 MUST_USE_RESULT MaybeHandle<String> NewExternalStringFromTwoByte(
216 const ExternalTwoByteString::Resource* resource); 212 const ExternalTwoByteString::Resource* resource);
217 213
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 InstanceType type, 296 InstanceType type,
301 int instance_size, 297 int instance_size,
302 ElementsKind elements_kind = TERMINAL_FAST_ELEMENTS_KIND); 298 ElementsKind elements_kind = TERMINAL_FAST_ELEMENTS_KIND);
303 299
304 Handle<HeapObject> NewFillerObject(int size, 300 Handle<HeapObject> NewFillerObject(int size,
305 bool double_align, 301 bool double_align,
306 AllocationSpace space); 302 AllocationSpace space);
307 303
308 Handle<JSObject> NewFunctionPrototype(Handle<JSFunction> function); 304 Handle<JSObject> NewFunctionPrototype(Handle<JSFunction> function);
309 305
306 Handle<JSObject> CopyJSObject(Handle<JSObject> object);
307
308 Handle<JSObject> CopyJSObjectWithMemento(Handle<JSObject> object,
309 Handle<AllocationSite> site);
310
311 Handle<FixedArray> CopyFixedArrayWithMap(Handle<FixedArray> array,
312 Handle<Map> map);
313
310 Handle<FixedArray> CopyFixedArray(Handle<FixedArray> array); 314 Handle<FixedArray> CopyFixedArray(Handle<FixedArray> array);
311 315
312 // This method expects a COW array in new space, and creates a copy 316 // This method expects a COW array in new space, and creates a copy
313 // of it in old space. 317 // of it in old space.
314 Handle<FixedArray> CopyAndTenureFixedCOWArray(Handle<FixedArray> array); 318 Handle<FixedArray> CopyAndTenureFixedCOWArray(Handle<FixedArray> array);
315 319
316 Handle<FixedArray> CopySizeFixedArray(Handle<FixedArray> array, 320 Handle<FixedArray> CopySizeFixedArray(Handle<FixedArray> array,
317 int new_length, 321 int new_length,
318 PretenureFlag pretenure = NOT_TENURED); 322 PretenureFlag pretenure = NOT_TENURED);
319 323
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
688 // the string representation of the number. Otherwise return undefined. 692 // the string representation of the number. Otherwise return undefined.
689 Handle<Object> GetNumberStringCache(Handle<Object> number); 693 Handle<Object> GetNumberStringCache(Handle<Object> number);
690 694
691 // Update the cache with a new number-string pair. 695 // Update the cache with a new number-string pair.
692 void SetNumberStringCache(Handle<Object> number, Handle<String> string); 696 void SetNumberStringCache(Handle<Object> number, Handle<String> string);
693 }; 697 };
694 698
695 } } // namespace v8::internal 699 } } // namespace v8::internal
696 700
697 #endif // V8_FACTORY_H_ 701 #endif // V8_FACTORY_H_
OLDNEW
« no previous file with comments | « src/api.cc ('k') | src/factory.cc » ('j') | src/objects.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698