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

Side by Side Diff: src/bootstrapper.cc

Issue 1513873002: Unstage non-standard Promise functions (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years 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
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 #include "src/bootstrapper.h" 5 #include "src/bootstrapper.h"
6 6
7 #include "src/accessors.h" 7 #include "src/accessors.h"
8 #include "src/api-natives.h" 8 #include "src/api-natives.h"
9 #include "src/code-stubs.h" 9 #include "src/code-stubs.h"
10 #include "src/extensions/externalize-string-extension.h" 10 #include "src/extensions/externalize-string-extension.h"
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 void InitializeExperimentalGlobal(); 195 void InitializeExperimentalGlobal();
196 // Depending on the situation, expose and/or get rid of the utils object. 196 // Depending on the situation, expose and/or get rid of the utils object.
197 void ConfigureUtilsObject(ContextType context_type); 197 void ConfigureUtilsObject(ContextType context_type);
198 198
199 #define DECLARE_FEATURE_INITIALIZATION(id, descr) \ 199 #define DECLARE_FEATURE_INITIALIZATION(id, descr) \
200 void InitializeGlobal_##id(); 200 void InitializeGlobal_##id();
201 201
202 HARMONY_INPROGRESS(DECLARE_FEATURE_INITIALIZATION) 202 HARMONY_INPROGRESS(DECLARE_FEATURE_INITIALIZATION)
203 HARMONY_STAGED(DECLARE_FEATURE_INITIALIZATION) 203 HARMONY_STAGED(DECLARE_FEATURE_INITIALIZATION)
204 HARMONY_SHIPPING(DECLARE_FEATURE_INITIALIZATION) 204 HARMONY_SHIPPING(DECLARE_FEATURE_INITIALIZATION)
205 DECLARE_FEATURE_INITIALIZATION(promise_extra, "")
205 #undef DECLARE_FEATURE_INITIALIZATION 206 #undef DECLARE_FEATURE_INITIALIZATION
206 207
207 Handle<JSFunction> InstallInternalArray(Handle<JSObject> target, 208 Handle<JSFunction> InstallInternalArray(Handle<JSObject> target,
208 const char* name, 209 const char* name,
209 ElementsKind elements_kind); 210 ElementsKind elements_kind);
210 bool InstallNatives(ContextType context_type); 211 bool InstallNatives(ContextType context_type);
211 212
212 void InstallTypedArray(const char* name, ElementsKind elements_kind, 213 void InstallTypedArray(const char* name, ElementsKind elements_kind,
213 Handle<JSFunction>* fun); 214 Handle<JSFunction>* fun);
214 bool InstallExperimentalNatives(); 215 bool InstallExperimentalNatives();
(...skipping 1363 matching lines...) Expand 10 before | Expand all | Expand 10 after
1578 *fun = result; 1579 *fun = result;
1579 } 1580 }
1580 1581
1581 1582
1582 void Genesis::InitializeExperimentalGlobal() { 1583 void Genesis::InitializeExperimentalGlobal() {
1583 #define FEATURE_INITIALIZE_GLOBAL(id, descr) InitializeGlobal_##id(); 1584 #define FEATURE_INITIALIZE_GLOBAL(id, descr) InitializeGlobal_##id();
1584 1585
1585 HARMONY_INPROGRESS(FEATURE_INITIALIZE_GLOBAL) 1586 HARMONY_INPROGRESS(FEATURE_INITIALIZE_GLOBAL)
1586 HARMONY_STAGED(FEATURE_INITIALIZE_GLOBAL) 1587 HARMONY_STAGED(FEATURE_INITIALIZE_GLOBAL)
1587 HARMONY_SHIPPING(FEATURE_INITIALIZE_GLOBAL) 1588 HARMONY_SHIPPING(FEATURE_INITIALIZE_GLOBAL)
1589 FEATURE_INITIALIZE_GLOBAL(promise_extra, "")
1588 #undef FEATURE_INITIALIZE_GLOBAL 1590 #undef FEATURE_INITIALIZE_GLOBAL
1589 } 1591 }
1590 1592
1591 1593
1592 bool Bootstrapper::CompileBuiltin(Isolate* isolate, int index) { 1594 bool Bootstrapper::CompileBuiltin(Isolate* isolate, int index) {
1593 Vector<const char> name = Natives::GetScriptName(index); 1595 Vector<const char> name = Natives::GetScriptName(index);
1594 Handle<String> source_code = 1596 Handle<String> source_code =
1595 isolate->bootstrapper()->SourceLookup<Natives>(index); 1597 isolate->bootstrapper()->SourceLookup<Natives>(index);
1596 1598
1597 // We pass in extras_utils so that builtin code can set it up for later use 1599 // We pass in extras_utils so that builtin code can set it up for later use
(...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after
2082 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_default_parameters) 2084 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_default_parameters)
2083 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_destructuring_bind) 2085 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_destructuring_bind)
2084 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_destructuring_assignment) 2086 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_destructuring_assignment)
2085 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_object_observe) 2087 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_object_observe)
2086 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_regexps) 2088 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_regexps)
2087 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_unicode_regexps) 2089 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_unicode_regexps)
2088 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_completion) 2090 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_completion)
2089 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_tolength) 2091 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_tolength)
2090 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_do_expressions) 2092 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_do_expressions)
2091 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_regexp_lookbehind) 2093 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_regexp_lookbehind)
2094 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(promise_extra)
2092 2095
2093 2096
2094 void InstallPublicSymbol(Factory* factory, Handle<Context> native_context, 2097 void InstallPublicSymbol(Factory* factory, Handle<Context> native_context,
2095 const char* name, Handle<Symbol> value) { 2098 const char* name, Handle<Symbol> value) {
2096 Handle<JSGlobalObject> global( 2099 Handle<JSGlobalObject> global(
2097 JSGlobalObject::cast(native_context->global_object())); 2100 JSGlobalObject::cast(native_context->global_object()));
2098 Handle<String> symbol_string = factory->InternalizeUtf8String("Symbol"); 2101 Handle<String> symbol_string = factory->InternalizeUtf8String("Symbol");
2099 Handle<JSObject> symbol = Handle<JSObject>::cast( 2102 Handle<JSObject> symbol = Handle<JSObject>::cast(
2100 JSObject::GetProperty(global, symbol_string).ToHandleChecked()); 2103 JSObject::GetProperty(global, symbol_string).ToHandleChecked());
2101 Handle<String> name_string = factory->InternalizeUtf8String(name); 2104 Handle<String> name_string = factory->InternalizeUtf8String(name);
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after
2616 static const char* harmony_sharedarraybuffer_natives[] = { 2619 static const char* harmony_sharedarraybuffer_natives[] = {
2617 "native harmony-sharedarraybuffer.js", "native harmony-atomics.js", NULL}; 2620 "native harmony-sharedarraybuffer.js", "native harmony-atomics.js", NULL};
2618 static const char* harmony_concat_spreadable_natives[] = {nullptr}; 2621 static const char* harmony_concat_spreadable_natives[] = {nullptr};
2619 static const char* harmony_simd_natives[] = {"native harmony-simd.js", 2622 static const char* harmony_simd_natives[] = {"native harmony-simd.js",
2620 nullptr}; 2623 nullptr};
2621 static const char* harmony_tolength_natives[] = {nullptr}; 2624 static const char* harmony_tolength_natives[] = {nullptr};
2622 static const char* harmony_completion_natives[] = {nullptr}; 2625 static const char* harmony_completion_natives[] = {nullptr};
2623 static const char* harmony_do_expressions_natives[] = {nullptr}; 2626 static const char* harmony_do_expressions_natives[] = {nullptr};
2624 static const char* harmony_regexp_subclass_natives[] = {nullptr}; 2627 static const char* harmony_regexp_subclass_natives[] = {nullptr};
2625 static const char* harmony_regexp_lookbehind_natives[] = {nullptr}; 2628 static const char* harmony_regexp_lookbehind_natives[] = {nullptr};
2629 static const char* promise_extra_natives[] = {"native promise-extra.js",
2630 nullptr};
2626 2631
2627 for (int i = ExperimentalNatives::GetDebuggerCount(); 2632 for (int i = ExperimentalNatives::GetDebuggerCount();
2628 i < ExperimentalNatives::GetBuiltinsCount(); i++) { 2633 i < ExperimentalNatives::GetBuiltinsCount(); i++) {
2629 #define INSTALL_EXPERIMENTAL_NATIVES(id, desc) \ 2634 #define INSTALL_EXPERIMENTAL_NATIVES(id, desc) \
2630 if (FLAG_##id) { \ 2635 if (FLAG_##id) { \
2631 for (size_t j = 0; id##_natives[j] != NULL; j++) { \ 2636 for (size_t j = 0; id##_natives[j] != NULL; j++) { \
2632 Vector<const char> script_name = ExperimentalNatives::GetScriptName(i); \ 2637 Vector<const char> script_name = ExperimentalNatives::GetScriptName(i); \
2633 if (strncmp(script_name.start(), id##_natives[j], \ 2638 if (strncmp(script_name.start(), id##_natives[j], \
2634 script_name.length()) == 0) { \ 2639 script_name.length()) == 0) { \
2635 if (!Bootstrapper::CompileExperimentalBuiltin(isolate(), i)) { \ 2640 if (!Bootstrapper::CompileExperimentalBuiltin(isolate(), i)) { \
2636 return false; \ 2641 return false; \
2637 } \ 2642 } \
2638 } \ 2643 } \
2639 } \ 2644 } \
2640 } 2645 }
2641 HARMONY_INPROGRESS(INSTALL_EXPERIMENTAL_NATIVES); 2646 HARMONY_INPROGRESS(INSTALL_EXPERIMENTAL_NATIVES);
2642 HARMONY_STAGED(INSTALL_EXPERIMENTAL_NATIVES); 2647 HARMONY_STAGED(INSTALL_EXPERIMENTAL_NATIVES);
2643 HARMONY_SHIPPING(INSTALL_EXPERIMENTAL_NATIVES); 2648 HARMONY_SHIPPING(INSTALL_EXPERIMENTAL_NATIVES);
2649 INSTALL_EXPERIMENTAL_NATIVES(promise_extra, "");
2644 #undef INSTALL_EXPERIMENTAL_NATIVES 2650 #undef INSTALL_EXPERIMENTAL_NATIVES
2645 } 2651 }
2646 2652
2647 if (!CallUtilsFunction(isolate(), "PostExperimentals")) return false; 2653 if (!CallUtilsFunction(isolate(), "PostExperimentals")) return false;
2648 2654
2649 InstallExperimentalBuiltinFunctionIds(); 2655 InstallExperimentalBuiltinFunctionIds();
2650 return true; 2656 return true;
2651 } 2657 }
2652 2658
2653 2659
(...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after
3292 } 3298 }
3293 3299
3294 3300
3295 // Called when the top-level V8 mutex is destroyed. 3301 // Called when the top-level V8 mutex is destroyed.
3296 void Bootstrapper::FreeThreadResources() { 3302 void Bootstrapper::FreeThreadResources() {
3297 DCHECK(!IsActive()); 3303 DCHECK(!IsActive());
3298 } 3304 }
3299 3305
3300 } // namespace internal 3306 } // namespace internal
3301 } // namespace v8 3307 } // namespace v8
OLDNEW
« no previous file with comments | « BUILD.gn ('k') | src/flag-definitions.h » ('j') | src/flag-definitions.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698