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

Side by Side Diff: src/factory.h

Issue 895053002: Move the contents of api-natives.js to c++ (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 10 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/execution.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 9
10 namespace v8 { 10 namespace v8 {
(...skipping 541 matching lines...) Expand 10 before | Expand all | Expand 10 after
552 MaybeHandle<Object> NewEvalError(const char* message, 552 MaybeHandle<Object> NewEvalError(const char* message,
553 Vector<Handle<Object> > args); 553 Vector<Handle<Object> > args);
554 554
555 Handle<String> NumberToString(Handle<Object> number, 555 Handle<String> NumberToString(Handle<Object> number,
556 bool check_number_string_cache = true); 556 bool check_number_string_cache = true);
557 557
558 Handle<String> Uint32ToString(uint32_t value) { 558 Handle<String> Uint32ToString(uint32_t value) {
559 return NumberToString(NewNumberFromUint(value)); 559 return NumberToString(NewNumberFromUint(value));
560 } 560 }
561 561
562 enum ApiInstanceType {
563 JavaScriptObjectType,
564 GlobalObjectType,
565 GlobalProxyType
566 };
567
568 Handle<JSFunction> CreateApiFunction(
569 Handle<FunctionTemplateInfo> data,
570 Handle<Object> prototype,
571 ApiInstanceType type = JavaScriptObjectType);
572
573 Handle<JSFunction> InstallMembers(Handle<JSFunction> function); 562 Handle<JSFunction> InstallMembers(Handle<JSFunction> function);
574 563
575 // Installs interceptors on the instance. 'desc' is a function template,
576 // and instance is an object instance created by the function of this
577 // function template.
578 MUST_USE_RESULT MaybeHandle<FunctionTemplateInfo> ConfigureInstance(
579 Handle<FunctionTemplateInfo> desc, Handle<JSObject> instance);
580
581 #define ROOT_ACCESSOR(type, name, camel_name) \ 564 #define ROOT_ACCESSOR(type, name, camel_name) \
582 inline Handle<type> name() { \ 565 inline Handle<type> name() { \
583 return Handle<type>(bit_cast<type**>( \ 566 return Handle<type>(bit_cast<type**>( \
584 &isolate()->heap()->roots_[Heap::k##camel_name##RootIndex])); \ 567 &isolate()->heap()->roots_[Heap::k##camel_name##RootIndex])); \
585 } 568 }
586 ROOT_LIST(ROOT_ACCESSOR) 569 ROOT_LIST(ROOT_ACCESSOR)
587 #undef ROOT_ACCESSOR 570 #undef ROOT_ACCESSOR
588 571
589 #define STRUCT_MAP_ACCESSOR(NAME, Name, name) \ 572 #define STRUCT_MAP_ACCESSOR(NAME, Name, name) \
590 inline Handle<Map> name##_map() { \ 573 inline Handle<Map> name##_map() { \
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
724 // Reinitialize a JSProxy into an (empty) JS object of respective type and 707 // Reinitialize a JSProxy into an (empty) JS object of respective type and
725 // size, but keeping the original prototype. The receiver must have at least 708 // size, but keeping the original prototype. The receiver must have at least
726 // the size of the new object. The object is reinitialized and behaves as an 709 // the size of the new object. The object is reinitialized and behaves as an
727 // object that has been freshly allocated. 710 // object that has been freshly allocated.
728 void ReinitializeJSProxy(Handle<JSProxy> proxy, InstanceType type, int size); 711 void ReinitializeJSProxy(Handle<JSProxy> proxy, InstanceType type, int size);
729 }; 712 };
730 713
731 } } // namespace v8::internal 714 } } // namespace v8::internal
732 715
733 #endif // V8_FACTORY_H_ 716 #endif // V8_FACTORY_H_
OLDNEW
« no previous file with comments | « src/execution.cc ('k') | src/factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698