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

Side by Side Diff: src/bootstrapper.cc

Issue 2780173002: [regexp] Add support for dotAll flag (Closed)
Patch Set: Reserve enough space for '.' character range Created 3 years, 8 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
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/base/ieee754.h" 9 #include "src/base/ieee754.h"
10 #include "src/code-stubs.h" 10 #include "src/code-stubs.h"
(...skipping 3848 matching lines...) Expand 10 before | Expand all | Expand 10 after
3859 handle(isolate()->builtins()->builtin(Builtins::kPromiseThrowerFinally), 3859 handle(isolate()->builtins()->builtin(Builtins::kPromiseThrowerFinally),
3860 isolate()); 3860 isolate());
3861 Handle<SharedFunctionInfo> info = factory()->NewSharedFunctionInfo( 3861 Handle<SharedFunctionInfo> info = factory()->NewSharedFunctionInfo(
3862 factory()->empty_string(), code, false); 3862 factory()->empty_string(), code, false);
3863 info->set_internal_formal_parameter_count(0); 3863 info->set_internal_formal_parameter_count(0);
3864 info->set_length(0); 3864 info->set_length(0);
3865 native_context()->set_promise_thrower_finally_shared_fun(*info); 3865 native_context()->set_promise_thrower_finally_shared_fun(*info);
3866 } 3866 }
3867 } 3867 }
3868 3868
3869 void Genesis::InitializeGlobal_harmony_regexp_dotall() {
3870 if (!FLAG_harmony_regexp_dotall) return;
3871
3872 Handle<JSFunction> constructor(native_context()->regexp_function());
3873 Handle<JSObject> prototype(JSObject::cast(constructor->instance_prototype()));
3874
3875 SimpleInstallGetter(prototype, isolate()->factory()->dotAll_string(),
3876 Builtins::kRegExpPrototypeDotAllGetter, true);
3877
3878 // The regexp prototype map has changed because we added a property
3879 // to it, so we update the saved map.
3880 Handle<Map> prototype_map(prototype->map());
3881 Map::SetShouldBeFastPrototypeMap(prototype_map, true, isolate());
3882 native_context()->set_regexp_prototype_map(*prototype_map);
3883 }
3884
3869 #ifdef V8_I18N_SUPPORT 3885 #ifdef V8_I18N_SUPPORT
3870 void Genesis::InitializeGlobal_datetime_format_to_parts() { 3886 void Genesis::InitializeGlobal_datetime_format_to_parts() {
3871 if (!FLAG_datetime_format_to_parts) return; 3887 if (!FLAG_datetime_format_to_parts) return;
3872 Handle<JSReceiver> exports_container( 3888 Handle<JSReceiver> exports_container(
3873 JSReceiver::cast(native_context()->exports_container())); 3889 JSReceiver::cast(native_context()->exports_container()));
3874 Handle<JSObject> date_time_format_prototype(JSObject::cast( 3890 Handle<JSObject> date_time_format_prototype(JSObject::cast(
3875 native_context()->intl_date_time_format_function()->prototype())); 3891 native_context()->intl_date_time_format_function()->prototype()));
3876 Handle<JSFunction> format_date_to_parts = Handle<JSFunction>::cast( 3892 Handle<JSFunction> format_date_to_parts = Handle<JSFunction>::cast(
3877 JSReceiver::GetProperty( 3893 JSReceiver::GetProperty(
3878 exports_container, 3894 exports_container,
(...skipping 1227 matching lines...) Expand 10 before | Expand all | Expand 10 after
5106 } 5122 }
5107 5123
5108 5124
5109 // Called when the top-level V8 mutex is destroyed. 5125 // Called when the top-level V8 mutex is destroyed.
5110 void Bootstrapper::FreeThreadResources() { 5126 void Bootstrapper::FreeThreadResources() {
5111 DCHECK(!IsActive()); 5127 DCHECK(!IsActive());
5112 } 5128 }
5113 5129
5114 } // namespace internal 5130 } // namespace internal
5115 } // namespace v8 5131 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698