| OLD | NEW | 
|---|
| 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  Loading... | 
| 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  Loading... | 
| 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  Loading... | 
| 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_ | 
| OLD | NEW | 
|---|