| 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 "src/feedback-vector.h" | 8 #include "src/feedback-vector.h" |
| 9 #include "src/globals.h" | 9 #include "src/globals.h" |
| 10 #include "src/isolate.h" | 10 #include "src/isolate.h" |
| (...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 484 | 484 |
| 485 // Global objects are pretenured and initialized based on a constructor. | 485 // Global objects are pretenured and initialized based on a constructor. |
| 486 Handle<JSGlobalObject> NewJSGlobalObject(Handle<JSFunction> constructor); | 486 Handle<JSGlobalObject> NewJSGlobalObject(Handle<JSFunction> constructor); |
| 487 | 487 |
| 488 // JS objects are pretenured when allocated by the bootstrapper and | 488 // JS objects are pretenured when allocated by the bootstrapper and |
| 489 // runtime. | 489 // runtime. |
| 490 Handle<JSObject> NewJSObjectFromMap( | 490 Handle<JSObject> NewJSObjectFromMap( |
| 491 Handle<Map> map, | 491 Handle<Map> map, |
| 492 PretenureFlag pretenure = NOT_TENURED, | 492 PretenureFlag pretenure = NOT_TENURED, |
| 493 Handle<AllocationSite> allocation_site = Handle<AllocationSite>::null()); | 493 Handle<AllocationSite> allocation_site = Handle<AllocationSite>::null()); |
| 494 Handle<JSObject> NewSlowJSObjectFromMap( |
| 495 Handle<Map> map, |
| 496 int number_of_slow_properties = NameDictionary::kInitialCapacity, |
| 497 PretenureFlag pretenure = NOT_TENURED); |
| 494 | 498 |
| 495 // JS arrays are pretenured when allocated by the parser. | 499 // JS arrays are pretenured when allocated by the parser. |
| 496 | 500 |
| 497 // Create a JSArray with a specified length and elements initialized | 501 // Create a JSArray with a specified length and elements initialized |
| 498 // according to the specified mode. | 502 // according to the specified mode. |
| 499 Handle<JSArray> NewJSArray( | 503 Handle<JSArray> NewJSArray( |
| 500 ElementsKind elements_kind, int length, int capacity, | 504 ElementsKind elements_kind, int length, int capacity, |
| 501 ArrayStorageAllocationMode mode = DONT_INITIALIZE_ARRAY_ELEMENTS, | 505 ArrayStorageAllocationMode mode = DONT_INITIALIZE_ARRAY_ELEMENTS, |
| 502 PretenureFlag pretenure = NOT_TENURED); | 506 PretenureFlag pretenure = NOT_TENURED); |
| 503 | 507 |
| (...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 770 int end_position, | 774 int end_position, |
| 771 Handle<Object> script, | 775 Handle<Object> script, |
| 772 Handle<Object> stack_frames); | 776 Handle<Object> stack_frames); |
| 773 | 777 |
| 774 Handle<DebugInfo> NewDebugInfo(Handle<SharedFunctionInfo> shared); | 778 Handle<DebugInfo> NewDebugInfo(Handle<SharedFunctionInfo> shared); |
| 775 | 779 |
| 776 // Return a map for given number of properties using the map cache in the | 780 // Return a map for given number of properties using the map cache in the |
| 777 // native context. | 781 // native context. |
| 778 Handle<Map> ObjectLiteralMapFromCache(Handle<Context> context, | 782 Handle<Map> ObjectLiteralMapFromCache(Handle<Context> context, |
| 779 int number_of_properties, | 783 int number_of_properties, |
| 784 bool use_null_prototype, |
| 780 bool* is_result_from_cache); | 785 bool* is_result_from_cache); |
| 781 | 786 |
| 782 Handle<RegExpMatchInfo> NewRegExpMatchInfo(); | 787 Handle<RegExpMatchInfo> NewRegExpMatchInfo(); |
| 783 | 788 |
| 784 // Creates a new FixedArray that holds the data associated with the | 789 // Creates a new FixedArray that holds the data associated with the |
| 785 // atom regexp and stores it in the regexp. | 790 // atom regexp and stores it in the regexp. |
| 786 void SetRegExpAtomData(Handle<JSRegExp> regexp, | 791 void SetRegExpAtomData(Handle<JSRegExp> regexp, |
| 787 JSRegExp::Type type, | 792 JSRegExp::Type type, |
| 788 Handle<String> source, | 793 Handle<String> source, |
| 789 JSRegExp::Flags flags, | 794 JSRegExp::Flags flags, |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 845 void SetStrictFunctionInstanceDescriptor(Handle<Map> map, | 850 void SetStrictFunctionInstanceDescriptor(Handle<Map> map, |
| 846 FunctionMode function_mode); | 851 FunctionMode function_mode); |
| 847 | 852 |
| 848 void SetClassFunctionInstanceDescriptor(Handle<Map> map); | 853 void SetClassFunctionInstanceDescriptor(Handle<Map> map); |
| 849 }; | 854 }; |
| 850 | 855 |
| 851 } // namespace internal | 856 } // namespace internal |
| 852 } // namespace v8 | 857 } // namespace v8 |
| 853 | 858 |
| 854 #endif // V8_FACTORY_H_ | 859 #endif // V8_FACTORY_H_ |
| OLD | NEW |