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 #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 3000 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3011 static const char* harmony_function_sent_natives[] = {nullptr}; | 3011 static const char* harmony_function_sent_natives[] = {nullptr}; |
3012 static const char* promise_extra_natives[] = {"native promise-extra.js", | 3012 static const char* promise_extra_natives[] = {"native promise-extra.js", |
3013 nullptr}; | 3013 nullptr}; |
3014 static const char* harmony_object_values_entries_natives[] = {nullptr}; | 3014 static const char* harmony_object_values_entries_natives[] = {nullptr}; |
3015 static const char* harmony_object_own_property_descriptors_natives[] = { | 3015 static const char* harmony_object_own_property_descriptors_natives[] = { |
3016 nullptr}; | 3016 nullptr}; |
3017 static const char* harmony_array_prototype_values_natives[] = {nullptr}; | 3017 static const char* harmony_array_prototype_values_natives[] = {nullptr}; |
3018 static const char* harmony_exponentiation_operator_natives[] = {nullptr}; | 3018 static const char* harmony_exponentiation_operator_natives[] = {nullptr}; |
3019 static const char* harmony_string_padding_natives[] = { | 3019 static const char* harmony_string_padding_natives[] = { |
3020 "native harmony-string-padding.js", nullptr}; | 3020 "native harmony-string-padding.js", nullptr}; |
| 3021 static const char* icu_case_mapping_natives[] = {"native icu-case-mapping.js", |
| 3022 nullptr}; |
3021 | 3023 |
3022 for (int i = ExperimentalNatives::GetDebuggerCount(); | 3024 for (int i = ExperimentalNatives::GetDebuggerCount(); |
3023 i < ExperimentalNatives::GetBuiltinsCount(); i++) { | 3025 i < ExperimentalNatives::GetBuiltinsCount(); i++) { |
3024 #define INSTALL_EXPERIMENTAL_NATIVES(id, desc) \ | 3026 #define INSTALL_EXPERIMENTAL_NATIVES(id, desc) \ |
3025 if (FLAG_##id) { \ | 3027 if (FLAG_##id) { \ |
3026 for (size_t j = 0; id##_natives[j] != NULL; j++) { \ | 3028 for (size_t j = 0; id##_natives[j] != NULL; j++) { \ |
3027 Vector<const char> script_name = ExperimentalNatives::GetScriptName(i); \ | 3029 Vector<const char> script_name = ExperimentalNatives::GetScriptName(i); \ |
3028 if (strncmp(script_name.start(), id##_natives[j], \ | 3030 if (strncmp(script_name.start(), id##_natives[j], \ |
3029 script_name.length()) == 0) { \ | 3031 script_name.length()) == 0) { \ |
3030 if (!Bootstrapper::CompileExperimentalBuiltin(isolate(), i)) { \ | 3032 if (!Bootstrapper::CompileExperimentalBuiltin(isolate(), i)) { \ |
3031 return false; \ | 3033 return false; \ |
3032 } \ | 3034 } \ |
3033 } \ | 3035 } \ |
3034 } \ | 3036 } \ |
3035 } | 3037 } |
3036 HARMONY_INPROGRESS(INSTALL_EXPERIMENTAL_NATIVES); | 3038 HARMONY_INPROGRESS(INSTALL_EXPERIMENTAL_NATIVES); |
3037 HARMONY_STAGED(INSTALL_EXPERIMENTAL_NATIVES); | 3039 HARMONY_STAGED(INSTALL_EXPERIMENTAL_NATIVES); |
3038 HARMONY_SHIPPING(INSTALL_EXPERIMENTAL_NATIVES); | 3040 HARMONY_SHIPPING(INSTALL_EXPERIMENTAL_NATIVES); |
3039 INSTALL_EXPERIMENTAL_NATIVES(promise_extra, ""); | 3041 INSTALL_EXPERIMENTAL_NATIVES(promise_extra, ""); |
| 3042 INSTALL_EXPERIMENTAL_NATIVES(icu_case_mapping, ""); |
3040 #undef INSTALL_EXPERIMENTAL_NATIVES | 3043 #undef INSTALL_EXPERIMENTAL_NATIVES |
3041 } | 3044 } |
3042 | 3045 |
3043 if (!CallUtilsFunction(isolate(), "PostExperimentals")) return false; | 3046 if (!CallUtilsFunction(isolate(), "PostExperimentals")) return false; |
3044 | 3047 |
3045 InstallExperimentalBuiltinFunctionIds(); | 3048 InstallExperimentalBuiltinFunctionIds(); |
3046 return true; | 3049 return true; |
3047 } | 3050 } |
3048 | 3051 |
3049 | 3052 |
(...skipping 637 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3687 } | 3690 } |
3688 | 3691 |
3689 | 3692 |
3690 // Called when the top-level V8 mutex is destroyed. | 3693 // Called when the top-level V8 mutex is destroyed. |
3691 void Bootstrapper::FreeThreadResources() { | 3694 void Bootstrapper::FreeThreadResources() { |
3692 DCHECK(!IsActive()); | 3695 DCHECK(!IsActive()); |
3693 } | 3696 } |
3694 | 3697 |
3695 } // namespace internal | 3698 } // namespace internal |
3696 } // namespace v8 | 3699 } // namespace v8 |
OLD | NEW |