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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 int at_least_space_for, | 52 int at_least_space_for, |
53 MinimumCapacity capacity_option = USE_DEFAULT_MINIMUM_CAPACITY); | 53 MinimumCapacity capacity_option = USE_DEFAULT_MINIMUM_CAPACITY); |
54 | 54 |
55 Handle<OrderedHashSet> NewOrderedHashSet(); | 55 Handle<OrderedHashSet> NewOrderedHashSet(); |
56 Handle<OrderedHashMap> NewOrderedHashMap(); | 56 Handle<OrderedHashMap> NewOrderedHashMap(); |
57 | 57 |
58 Handle<WeakHashTable> NewWeakHashTable(int at_least_space_for); | 58 Handle<WeakHashTable> NewWeakHashTable(int at_least_space_for); |
59 | 59 |
60 Handle<DescriptorArray> NewDescriptorArray(int number_of_descriptors, | 60 Handle<DescriptorArray> NewDescriptorArray(int number_of_descriptors, |
61 int slack = 0); | 61 int slack = 0); |
62 | |
63 // Create a DeoptimizationInputData. | |
64 Handle<DeoptimizationInputData> NewDeoptimizationInputData( | 62 Handle<DeoptimizationInputData> NewDeoptimizationInputData( |
65 int deopt_entry_count, | 63 int deopt_entry_count, |
66 PretenureFlag pretenure); | 64 PretenureFlag pretenure); |
67 | |
68 // Create a DeoptimizationOutputData. | |
69 Handle<DeoptimizationOutputData> NewDeoptimizationOutputData( | 65 Handle<DeoptimizationOutputData> NewDeoptimizationOutputData( |
70 int deopt_entry_count, | 66 int deopt_entry_count, |
71 PretenureFlag pretenure); | 67 PretenureFlag pretenure); |
72 | 68 |
73 // Create a new boxed value. | 69 // Create a new boxed value. |
74 Handle<Box> NewBox(Handle<Object> value); | 70 Handle<Box> NewBox(Handle<Object> value); |
75 | 71 |
76 // Create a pre-tenured empty AccessorPair. | 72 // Create a pre-tenured empty AccessorPair. |
77 Handle<AccessorPair> NewAccessorPair(); | 73 Handle<AccessorPair> NewAccessorPair(); |
78 | 74 |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 | 204 |
209 // Create a block context. | 205 // Create a block context. |
210 Handle<Context> NewBlockContext(Handle<JSFunction> function, | 206 Handle<Context> NewBlockContext(Handle<JSFunction> function, |
211 Handle<Context> previous, | 207 Handle<Context> previous, |
212 Handle<ScopeInfo> scope_info); | 208 Handle<ScopeInfo> scope_info); |
213 | 209 |
214 // Allocate a new struct. The struct is pretenured (allocated directly in | 210 // Allocate a new struct. The struct is pretenured (allocated directly in |
215 // the old generation). | 211 // the old generation). |
216 Handle<Struct> NewStruct(InstanceType type); | 212 Handle<Struct> NewStruct(InstanceType type); |
217 | 213 |
218 // Create an AliasedArgumentsEntry. | |
219 Handle<AliasedArgumentsEntry> NewAliasedArgumentsEntry( | 214 Handle<AliasedArgumentsEntry> NewAliasedArgumentsEntry( |
220 int aliased_context_slot); | 215 int aliased_context_slot); |
221 | 216 |
222 Handle<DeclaredAccessorDescriptor> NewDeclaredAccessorDescriptor(); | 217 Handle<DeclaredAccessorDescriptor> NewDeclaredAccessorDescriptor(); |
223 | 218 |
224 Handle<DeclaredAccessorInfo> NewDeclaredAccessorInfo(); | 219 Handle<DeclaredAccessorInfo> NewDeclaredAccessorInfo(); |
225 | 220 |
226 Handle<ExecutableAccessorInfo> NewExecutableAccessorInfo(); | 221 Handle<ExecutableAccessorInfo> NewExecutableAccessorInfo(); |
227 | 222 |
228 Handle<Script> NewScript(Handle<String> source); | 223 Handle<Script> NewScript(Handle<String> source); |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
318 Handle<GlobalObject> NewGlobalObject(Handle<JSFunction> constructor); | 313 Handle<GlobalObject> NewGlobalObject(Handle<JSFunction> constructor); |
319 | 314 |
320 // JS objects are pretenured when allocated by the bootstrapper and | 315 // JS objects are pretenured when allocated by the bootstrapper and |
321 // runtime. | 316 // runtime. |
322 Handle<JSObject> NewJSObjectFromMap( | 317 Handle<JSObject> NewJSObjectFromMap( |
323 Handle<Map> map, | 318 Handle<Map> map, |
324 PretenureFlag pretenure = NOT_TENURED, | 319 PretenureFlag pretenure = NOT_TENURED, |
325 bool allocate_properties = true, | 320 bool allocate_properties = true, |
326 Handle<AllocationSite> allocation_site = Handle<AllocationSite>::null()); | 321 Handle<AllocationSite> allocation_site = Handle<AllocationSite>::null()); |
327 | 322 |
| 323 Handle<JSObject> NewJSObjectFromMapForDeoptimizer( |
| 324 Handle<Map> map, PretenureFlag pretenure = NOT_TENURED); |
| 325 |
328 // JS modules are pretenured. | 326 // JS modules are pretenured. |
329 Handle<JSModule> NewJSModule(Handle<Context> context, | 327 Handle<JSModule> NewJSModule(Handle<Context> context, |
330 Handle<ScopeInfo> scope_info); | 328 Handle<ScopeInfo> scope_info); |
331 | 329 |
332 // JS arrays are pretenured when allocated by the parser. | 330 // JS arrays are pretenured when allocated by the parser. |
333 | 331 |
334 // Create a JSArray with no elements. | 332 // Create a JSArray with no elements. |
335 Handle<JSArray> NewJSArray( | 333 Handle<JSArray> NewJSArray( |
336 ElementsKind elements_kind, | 334 ElementsKind elements_kind, |
337 PretenureFlag pretenure = NOT_TENURED); | 335 PretenureFlag pretenure = NOT_TENURED); |
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
613 | 611 |
614 // Update the map cache in the native context with (keys, map) | 612 // Update the map cache in the native context with (keys, map) |
615 Handle<MapCache> AddToMapCache(Handle<Context> context, | 613 Handle<MapCache> AddToMapCache(Handle<Context> context, |
616 Handle<FixedArray> keys, | 614 Handle<FixedArray> keys, |
617 Handle<Map> map); | 615 Handle<Map> map); |
618 }; | 616 }; |
619 | 617 |
620 } } // namespace v8::internal | 618 } } // namespace v8::internal |
621 | 619 |
622 #endif // V8_FACTORY_H_ | 620 #endif // V8_FACTORY_H_ |
OLD | NEW |