| 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 #include "src/type-feedback-vector.h" | 10 #include "src/type-feedback-vector.h" |
| (...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 499 | 499 |
| 500 // Reinitialize an JSGlobalProxy based on a constructor. The object | 500 // Reinitialize an JSGlobalProxy based on a constructor. The object |
| 501 // must have the same size as objects allocated using the | 501 // must have the same size as objects allocated using the |
| 502 // constructor. The object is reinitialized and behaves as an | 502 // constructor. The object is reinitialized and behaves as an |
| 503 // object that has been freshly allocated using the constructor. | 503 // object that has been freshly allocated using the constructor. |
| 504 void ReinitializeJSGlobalProxy(Handle<JSGlobalProxy> global, | 504 void ReinitializeJSGlobalProxy(Handle<JSGlobalProxy> global, |
| 505 Handle<JSFunction> constructor); | 505 Handle<JSFunction> constructor); |
| 506 | 506 |
| 507 Handle<JSGlobalProxy> NewUninitializedJSGlobalProxy(); | 507 Handle<JSGlobalProxy> NewUninitializedJSGlobalProxy(); |
| 508 | 508 |
| 509 Handle<JSFunction> NewFunction(Handle<Map> map, |
| 510 Handle<SharedFunctionInfo> info, |
| 511 Handle<Object> context_or_undefined, |
| 512 PretenureFlag pretenure = TENURED); |
| 509 Handle<JSFunction> NewFunction(Handle<String> name, Handle<Code> code, | 513 Handle<JSFunction> NewFunction(Handle<String> name, Handle<Code> code, |
| 510 Handle<Object> prototype, | 514 Handle<Object> prototype, |
| 511 bool is_strict = false); | 515 bool is_strict = false); |
| 512 Handle<JSFunction> NewFunction(Handle<String> name); | 516 Handle<JSFunction> NewFunction(Handle<String> name); |
| 513 Handle<JSFunction> NewFunctionWithoutPrototype(Handle<String> name, | 517 Handle<JSFunction> NewFunctionWithoutPrototype(Handle<String> name, |
| 514 Handle<Code> code, | 518 Handle<Code> code, |
| 515 bool is_strict = false); | 519 bool is_strict = false); |
| 516 | 520 |
| 517 Handle<JSFunction> NewFunctionFromSharedFunctionInfo( | 521 Handle<JSFunction> NewFunctionFromSharedFunctionInfo( |
| 518 Handle<Map> initial_map, Handle<SharedFunctionInfo> function_info, | 522 Handle<Map> initial_map, Handle<SharedFunctionInfo> function_info, |
| 519 Handle<Context> context, PretenureFlag pretenure = TENURED); | 523 Handle<Object> context_or_undefined, PretenureFlag pretenure = TENURED); |
| 520 | 524 |
| 521 Handle<JSFunction> NewFunctionFromSharedFunctionInfo( | 525 Handle<JSFunction> NewFunctionFromSharedFunctionInfo( |
| 522 Handle<SharedFunctionInfo> function_info, Handle<Context> context, | 526 Handle<SharedFunctionInfo> function_info, Handle<Context> context, |
| 523 PretenureFlag pretenure = TENURED); | 527 PretenureFlag pretenure = TENURED); |
| 524 | 528 |
| 525 Handle<JSFunction> NewFunction(Handle<String> name, Handle<Code> code, | 529 Handle<JSFunction> NewFunction(Handle<String> name, Handle<Code> code, |
| 526 Handle<Object> prototype, InstanceType type, | 530 Handle<Object> prototype, InstanceType type, |
| 527 int instance_size, | 531 int instance_size, |
| 528 bool is_strict = false); | 532 bool is_strict = false); |
| 529 Handle<JSFunction> NewFunction(Handle<String> name, | 533 Handle<JSFunction> NewFunction(Handle<String> name, |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 706 // Creates a code object that is not yet fully initialized yet. | 710 // Creates a code object that is not yet fully initialized yet. |
| 707 inline Handle<Code> NewCodeRaw(int object_size, bool immovable); | 711 inline Handle<Code> NewCodeRaw(int object_size, bool immovable); |
| 708 | 712 |
| 709 // Attempt to find the number in a small cache. If we finds it, return | 713 // Attempt to find the number in a small cache. If we finds it, return |
| 710 // the string representation of the number. Otherwise return undefined. | 714 // the string representation of the number. Otherwise return undefined. |
| 711 Handle<Object> GetNumberStringCache(Handle<Object> number); | 715 Handle<Object> GetNumberStringCache(Handle<Object> number); |
| 712 | 716 |
| 713 // Update the cache with a new number-string pair. | 717 // Update the cache with a new number-string pair. |
| 714 void SetNumberStringCache(Handle<Object> number, Handle<String> string); | 718 void SetNumberStringCache(Handle<Object> number, Handle<String> string); |
| 715 | 719 |
| 716 // Creates a function initialized with a shared part. | |
| 717 Handle<JSFunction> NewFunction(Handle<Map> map, | |
| 718 Handle<SharedFunctionInfo> info, | |
| 719 Handle<Context> context, | |
| 720 PretenureFlag pretenure = TENURED); | |
| 721 | |
| 722 // Create a JSArray with no elements and no length. | 720 // Create a JSArray with no elements and no length. |
| 723 Handle<JSArray> NewJSArray(ElementsKind elements_kind, | 721 Handle<JSArray> NewJSArray(ElementsKind elements_kind, |
| 724 PretenureFlag pretenure = NOT_TENURED); | 722 PretenureFlag pretenure = NOT_TENURED); |
| 725 }; | 723 }; |
| 726 | 724 |
| 727 } // namespace internal | 725 } // namespace internal |
| 728 } // namespace v8 | 726 } // namespace v8 |
| 729 | 727 |
| 730 #endif // V8_FACTORY_H_ | 728 #endif // V8_FACTORY_H_ |
| OLD | NEW |