Index: src/runtime/runtime-array.cc |
diff --git a/src/runtime/runtime-array.cc b/src/runtime/runtime-array.cc |
index b2865dcbdf323b6829fec9e02d2f262036fcd0c1..d00df71576bf27edcee2131a8c0cd5656e314d8c 100644 |
--- a/src/runtime/runtime-array.cc |
+++ b/src/runtime/runtime-array.cc |
@@ -729,13 +729,15 @@ static bool IterateElements(Isolate* isolate, Handle<JSObject> receiver, |
static bool IsConcatSpreadable(Isolate* isolate, Handle<Object> obj) { |
HandleScope handle_scope(isolate); |
if (!obj->IsSpecObject()) return false; |
- Handle<Symbol> key(isolate->factory()->is_concat_spreadable_symbol()); |
- Handle<Object> value; |
- MaybeHandle<Object> maybeValue = |
- i::Runtime::GetObjectProperty(isolate, obj, key); |
- if (maybeValue.ToHandle(&value)) { |
- if (!value->IsUndefined()) { |
- return value->BooleanValue(); |
+ if (FLAG_harmony_concat_spreadable) { |
+ Handle<Symbol> key(isolate->factory()->is_concat_spreadable_symbol()); |
+ Handle<Object> value; |
+ MaybeHandle<Object> maybeValue = |
+ i::Runtime::GetObjectProperty(isolate, obj, key); |
+ if (maybeValue.ToHandle(&value)) { |
+ if (!value->IsUndefined()) { |
+ return value->BooleanValue(); |
+ } |
} |
} |
return obj->IsJSArray(); |