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

Side by Side Diff: src/bootstrapper.cc

Issue 1812673005: Use ICU case conversion/transliterator for case conversion behind a flag (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Yang's comment addressed - return right away for no-change Created 4 years, 7 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 | « BUILD.gn ('k') | src/flag-definitions.h » ('j') | src/js/i18n.js » ('J')
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 #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 2460 matching lines...) Expand 10 before | Expand all | Expand 10 after
2471 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_regexp_property) 2471 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_regexp_property)
2472 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_function_name) 2472 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_function_name)
2473 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_function_sent) 2473 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_function_sent)
2474 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(promise_extra) 2474 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(promise_extra)
2475 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_explicit_tailcalls) 2475 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_explicit_tailcalls)
2476 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_tailcalls) 2476 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_tailcalls)
2477 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_instanceof) 2477 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_instanceof)
2478 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_restrictive_declarations) 2478 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_restrictive_declarations)
2479 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_exponentiation_operator) 2479 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_exponentiation_operator)
2480 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_string_padding) 2480 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(harmony_string_padding)
2481 #ifdef V8_I18N_SUPPORT
2482 EMPTY_INITIALIZE_GLOBAL_FOR_FEATURE(icu_case_mapping)
2483 #endif
2481 2484
2482 void InstallPublicSymbol(Factory* factory, Handle<Context> native_context, 2485 void InstallPublicSymbol(Factory* factory, Handle<Context> native_context,
2483 const char* name, Handle<Symbol> value) { 2486 const char* name, Handle<Symbol> value) {
2484 Handle<JSGlobalObject> global( 2487 Handle<JSGlobalObject> global(
2485 JSGlobalObject::cast(native_context->global_object())); 2488 JSGlobalObject::cast(native_context->global_object()));
2486 Handle<String> symbol_string = factory->InternalizeUtf8String("Symbol"); 2489 Handle<String> symbol_string = factory->InternalizeUtf8String("Symbol");
2487 Handle<JSObject> symbol = Handle<JSObject>::cast( 2490 Handle<JSObject> symbol = Handle<JSObject>::cast(
2488 JSObject::GetProperty(global, symbol_string).ToHandleChecked()); 2491 JSObject::GetProperty(global, symbol_string).ToHandleChecked());
2489 Handle<String> name_string = factory->InternalizeUtf8String(name); 2492 Handle<String> name_string = factory->InternalizeUtf8String(name);
2490 PropertyAttributes attributes = 2493 PropertyAttributes attributes =
(...skipping 548 matching lines...) Expand 10 before | Expand all | Expand 10 after
3039 static const char* harmony_function_sent_natives[] = {nullptr}; 3042 static const char* harmony_function_sent_natives[] = {nullptr};
3040 static const char* promise_extra_natives[] = {"native promise-extra.js", 3043 static const char* promise_extra_natives[] = {"native promise-extra.js",
3041 nullptr}; 3044 nullptr};
3042 static const char* harmony_object_values_entries_natives[] = {nullptr}; 3045 static const char* harmony_object_values_entries_natives[] = {nullptr};
3043 static const char* harmony_object_own_property_descriptors_natives[] = { 3046 static const char* harmony_object_own_property_descriptors_natives[] = {
3044 nullptr}; 3047 nullptr};
3045 static const char* harmony_array_prototype_values_natives[] = {nullptr}; 3048 static const char* harmony_array_prototype_values_natives[] = {nullptr};
3046 static const char* harmony_exponentiation_operator_natives[] = {nullptr}; 3049 static const char* harmony_exponentiation_operator_natives[] = {nullptr};
3047 static const char* harmony_string_padding_natives[] = { 3050 static const char* harmony_string_padding_natives[] = {
3048 "native harmony-string-padding.js", nullptr}; 3051 "native harmony-string-padding.js", nullptr};
3052 #ifdef V8_I18N_SUPPORT
3053 static const char* icu_case_mapping_natives[] = {"native icu-case-mapping.js",
3054 nullptr};
3055 #endif
3049 3056
3050 for (int i = ExperimentalNatives::GetDebuggerCount(); 3057 for (int i = ExperimentalNatives::GetDebuggerCount();
3051 i < ExperimentalNatives::GetBuiltinsCount(); i++) { 3058 i < ExperimentalNatives::GetBuiltinsCount(); i++) {
3052 #define INSTALL_EXPERIMENTAL_NATIVES(id, desc) \ 3059 #define INSTALL_EXPERIMENTAL_NATIVES(id, desc) \
3053 if (FLAG_##id) { \ 3060 if (FLAG_##id) { \
3054 for (size_t j = 0; id##_natives[j] != NULL; j++) { \ 3061 for (size_t j = 0; id##_natives[j] != NULL; j++) { \
3055 Vector<const char> script_name = ExperimentalNatives::GetScriptName(i); \ 3062 Vector<const char> script_name = ExperimentalNatives::GetScriptName(i); \
3056 if (strncmp(script_name.start(), id##_natives[j], \ 3063 if (strncmp(script_name.start(), id##_natives[j], \
3057 script_name.length()) == 0) { \ 3064 script_name.length()) == 0) { \
3058 if (!Bootstrapper::CompileExperimentalBuiltin(isolate(), i)) { \ 3065 if (!Bootstrapper::CompileExperimentalBuiltin(isolate(), i)) { \
(...skipping 656 matching lines...) Expand 10 before | Expand all | Expand 10 after
3715 } 3722 }
3716 3723
3717 3724
3718 // Called when the top-level V8 mutex is destroyed. 3725 // Called when the top-level V8 mutex is destroyed.
3719 void Bootstrapper::FreeThreadResources() { 3726 void Bootstrapper::FreeThreadResources() {
3720 DCHECK(!IsActive()); 3727 DCHECK(!IsActive());
3721 } 3728 }
3722 3729
3723 } // namespace internal 3730 } // namespace internal
3724 } // namespace v8 3731 } // namespace v8
OLDNEW
« no previous file with comments | « BUILD.gn ('k') | src/flag-definitions.h » ('j') | src/js/i18n.js » ('J')

Powered by Google App Engine
This is Rietveld 408576698