Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(240)

Side by Side Diff: src/factory.h

Issue 2095673002: Share SharedFunctionInfo between all functions created for a FunctionTemplateInfo (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/bootstrapper.cc ('k') | src/factory.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 490 matching lines...) Expand 10 before | Expand all | Expand 10 after
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<String> name, Handle<Code> code, 509 Handle<JSFunction> NewFunction(Handle<String> name, Handle<Code> code,
510 Handle<Object> prototype, 510 Handle<Object> prototype,
511 bool read_only_prototype = false,
512 bool is_strict = false); 511 bool is_strict = false);
513 Handle<JSFunction> NewFunction(Handle<String> name); 512 Handle<JSFunction> NewFunction(Handle<String> name);
514 Handle<JSFunction> NewFunctionWithoutPrototype(Handle<String> name, 513 Handle<JSFunction> NewFunctionWithoutPrototype(Handle<String> name,
515 Handle<Code> code, 514 Handle<Code> code,
516 bool is_strict = false); 515 bool is_strict = false);
517 516
518 Handle<JSFunction> NewFunctionFromSharedFunctionInfo( 517 Handle<JSFunction> NewFunctionFromSharedFunctionInfo(
519 Handle<Map> initial_map, Handle<SharedFunctionInfo> function_info, 518 Handle<Map> initial_map, Handle<SharedFunctionInfo> function_info,
520 Handle<Context> context, PretenureFlag pretenure = TENURED); 519 Handle<Context> context, PretenureFlag pretenure = TENURED);
521 520
522 Handle<JSFunction> NewFunctionFromSharedFunctionInfo( 521 Handle<JSFunction> NewFunctionFromSharedFunctionInfo(
523 Handle<SharedFunctionInfo> function_info, Handle<Context> context, 522 Handle<SharedFunctionInfo> function_info, Handle<Context> context,
524 PretenureFlag pretenure = TENURED); 523 PretenureFlag pretenure = TENURED);
525 524
526 Handle<JSFunction> NewFunction(Handle<String> name, Handle<Code> code, 525 Handle<JSFunction> NewFunction(Handle<String> name, Handle<Code> code,
527 Handle<Object> prototype, InstanceType type, 526 Handle<Object> prototype, InstanceType type,
528 int instance_size, 527 int instance_size,
529 bool read_only_prototype = false,
530 bool install_constructor = false,
531 bool is_strict = false); 528 bool is_strict = false);
532 Handle<JSFunction> NewFunction(Handle<String> name, 529 Handle<JSFunction> NewFunction(Handle<String> name,
533 Handle<Code> code, 530 Handle<Code> code,
534 InstanceType type, 531 InstanceType type,
535 int instance_size); 532 int instance_size);
536 Handle<JSFunction> NewFunction(Handle<Map> map, Handle<String> name, 533 Handle<JSFunction> NewFunction(Handle<Map> map, Handle<String> name,
537 MaybeHandle<Code> maybe_code); 534 MaybeHandle<Code> maybe_code);
538 535
539 // Create a serialized scope info. 536 // Create a serialized scope info.
540 Handle<ScopeInfo> NewScopeInfo(int length); 537 Handle<ScopeInfo> NewScopeInfo(int length);
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
724 721
725 // Create a JSArray with no elements and no length. 722 // Create a JSArray with no elements and no length.
726 Handle<JSArray> NewJSArray(ElementsKind elements_kind, 723 Handle<JSArray> NewJSArray(ElementsKind elements_kind,
727 PretenureFlag pretenure = NOT_TENURED); 724 PretenureFlag pretenure = NOT_TENURED);
728 }; 725 };
729 726
730 } // namespace internal 727 } // namespace internal
731 } // namespace v8 728 } // namespace v8
732 729
733 #endif // V8_FACTORY_H_ 730 #endif // V8_FACTORY_H_
OLDNEW
« no previous file with comments | « src/bootstrapper.cc ('k') | src/factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698