Chromium Code Reviews| Index: src/elements.cc |
| diff --git a/src/elements.cc b/src/elements.cc |
| index 672b04198bc716ec5fbd550aa803f030070932cc..ea368847e0eed25886e45da00376ad2c6f3d762d 100644 |
| --- a/src/elements.cc |
| +++ b/src/elements.cc |
| @@ -989,11 +989,12 @@ class FastElementsAccessor |
| if (length == 0) return; // nothing to do! |
| DisallowHeapAllocation no_gc; |
| Handle<BackingStore> backing_store = Handle<BackingStore>::cast(elements); |
| - for (int i = 0; i < length; i++) { |
| - DCHECK((!IsFastSmiElementsKind(KindTraits::Kind) || |
| - BackingStore::get(backing_store, i)->IsSmi()) || |
| - (IsFastHoleyElementsKind(KindTraits::Kind) == |
| - backing_store->is_the_hole(i))); |
| + if (IsFastSmiElementsKind(KindTraits::Kind)) { |
|
Jakob Kummerow
2015/06/23 12:05:14
I wonder if it would be useful to validate fast ob
Toon Verwaest
2015/06/23 12:28:17
True. Can investigate later. Probably it makes mor
|
| + for (int i = 0; i < length; i++) { |
| + DCHECK(BackingStore::get(backing_store, i)->IsSmi() || |
| + (IsFastHoleyElementsKind(KindTraits::Kind) && |
| + backing_store->is_the_hole(i))); |
| + } |
| } |
| #endif |
| } |
| @@ -1345,13 +1346,8 @@ class DictionaryElementsAccessor |
| dict->ElementsRemoved(removed_entries); |
| } |
| - if (length <= Smi::kMaxValue) { |
| - array->set_length(Smi::FromInt(length)); |
| - } else { |
| - Isolate* isolate = array->GetIsolate(); |
| - Handle<Object> length_obj = isolate->factory()->NewNumberFromUint(length); |
| - array->set_length(*length_obj); |
| - } |
| + Handle<Object> length_obj = isolate->factory()->NewNumberFromUint(length); |
| + array->set_length(*length_obj); |
| } |
| static void DeleteCommon(Handle<JSObject> obj, uint32_t key, |