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/isolate.h" | 8 #include "src/isolate.h" |
9 #include "src/messages.h" | 9 #include "src/messages.h" |
10 | 10 |
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
372 Handle<AllocationSite> site); | 372 Handle<AllocationSite> site); |
373 | 373 |
374 // Global objects are pretenured and initialized based on a constructor. | 374 // Global objects are pretenured and initialized based on a constructor. |
375 Handle<GlobalObject> NewGlobalObject(Handle<JSFunction> constructor); | 375 Handle<GlobalObject> NewGlobalObject(Handle<JSFunction> constructor); |
376 | 376 |
377 // JS objects are pretenured when allocated by the bootstrapper and | 377 // JS objects are pretenured when allocated by the bootstrapper and |
378 // runtime. | 378 // runtime. |
379 Handle<JSObject> NewJSObjectFromMap( | 379 Handle<JSObject> NewJSObjectFromMap( |
380 Handle<Map> map, | 380 Handle<Map> map, |
381 PretenureFlag pretenure = NOT_TENURED, | 381 PretenureFlag pretenure = NOT_TENURED, |
382 bool allocate_properties = true, | |
383 Handle<AllocationSite> allocation_site = Handle<AllocationSite>::null()); | 382 Handle<AllocationSite> allocation_site = Handle<AllocationSite>::null()); |
384 | 383 |
385 // JS modules are pretenured. | 384 // JS modules are pretenured. |
386 Handle<JSModule> NewJSModule(Handle<Context> context, | 385 Handle<JSModule> NewJSModule(Handle<Context> context, |
387 Handle<ScopeInfo> scope_info); | 386 Handle<ScopeInfo> scope_info); |
388 | 387 |
389 // JS arrays are pretenured when allocated by the parser. | 388 // JS arrays are pretenured when allocated by the parser. |
390 | 389 |
391 // Create a JSArray with no elements. | 390 // Create a JSArray with no elements. |
392 Handle<JSArray> NewJSArray(ElementsKind elements_kind, | 391 Handle<JSArray> NewJSArray(ElementsKind elements_kind, |
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
737 // Reinitialize a JSProxy into an (empty) JS object of respective type and | 736 // Reinitialize a JSProxy into an (empty) JS object of respective type and |
738 // size, but keeping the original prototype. The receiver must have at least | 737 // size, but keeping the original prototype. The receiver must have at least |
739 // the size of the new object. The object is reinitialized and behaves as an | 738 // the size of the new object. The object is reinitialized and behaves as an |
740 // object that has been freshly allocated. | 739 // object that has been freshly allocated. |
741 void ReinitializeJSProxy(Handle<JSProxy> proxy, InstanceType type, int size); | 740 void ReinitializeJSProxy(Handle<JSProxy> proxy, InstanceType type, int size); |
742 }; | 741 }; |
743 | 742 |
744 } } // namespace v8::internal | 743 } } // namespace v8::internal |
745 | 744 |
746 #endif // V8_FACTORY_H_ | 745 #endif // V8_FACTORY_H_ |
OLD | NEW |