Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index b3a5658ca03181502734054f0a640d4a75a854e6..50988d95f134f67e922c4d31990706ff7538d37d 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -10405,9 +10405,14 @@ MaybeObject* JSObject::SetElementWithoutInterceptor(uint32_t index, |
HasDictionaryArgumentsElements() || |
(attr & (DONT_DELETE | DONT_ENUM | READ_ONLY)) == 0); |
Isolate* isolate = GetIsolate(); |
- if (FLAG_trace_array_abuse) { |
- if (IsExternalArrayElementsKind(GetElementsKind())) { |
- CheckArrayAbuse(this, "external elements write", index); |
+ if (FLAG_trace_external_array_abuse && |
+ IsExternalArrayElementsKind(GetElementsKind())) { |
+ CheckArrayAbuse(this, "external elements write", index); |
+ } |
+ if (FLAG_trace_js_array_abuse && |
+ !IsExternalArrayElementsKind(GetElementsKind())) { |
+ if (IsJSArray()) { |
+ CheckArrayAbuse(this, "elements write", index, true); |
} |
} |
switch (GetElementsKind()) { |