Index: src/bootstrapper.cc |
diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc |
index d67985a5e0ad3ea27caafdd5790ef86079638996..f31ce74f4d35a387202948a3843a387c55f5129f 100644 |
--- a/src/bootstrapper.cc |
+++ b/src/bootstrapper.cc |
@@ -3674,6 +3674,7 @@ void Genesis::InitializeGlobal_enable_fast_array_builtins() { |
factory->NewStringFromAsciiChecked("prototype"), |
LookupIterator::OWN_SKIP_INTERCEPTOR); |
Handle<Object> array_prototype = Object::GetProperty(&it2).ToHandleChecked(); |
+ |
LookupIterator it3(array_prototype, |
factory->NewStringFromAsciiChecked("forEach"), |
LookupIterator::OWN_SKIP_INTERCEPTOR); |
@@ -3704,6 +3705,19 @@ void Genesis::InitializeGlobal_enable_fast_array_builtins() { |
Handle<JSFunction>::cast(some_function) |
->shared() |
->set_code(isolate->builtins()->builtin(Builtins::kArraySome)); |
+ |
+ if (FLAG_csa_builtin_filter) { |
danno
2017/03/20 08:06:25
Instead of introducing a new flag, how about you j
mvstanton
2017/03/20 16:10:52
I like the idea, but right now the filter implemen
|
+ LookupIterator it6(array_prototype, |
+ factory->NewStringFromAsciiChecked("filter"), |
+ LookupIterator::OWN_SKIP_INTERCEPTOR); |
+ Handle<Object> filter_function = |
+ Object::GetProperty(&it6).ToHandleChecked(); |
+ Handle<JSFunction>::cast(filter_function) |
+ ->set_code(isolate->builtins()->builtin(Builtins::kArrayFilter)); |
+ Handle<JSFunction>::cast(filter_function) |
+ ->shared() |
+ ->set_code(isolate->builtins()->builtin(Builtins::kArrayFilter)); |
+ } |
} |
void Genesis::InitializeGlobal_harmony_sharedarraybuffer() { |