Chromium Code Reviews| Index: src/ic.cc |
| diff --git a/src/ic.cc b/src/ic.cc |
| index 163172d8eb4df42e68c395c528f1864fb68ca49c..782c5fac12dadb9d4faf0ff976a0bedafe59c8d8 100644 |
| --- a/src/ic.cc |
| +++ b/src/ic.cc |
| @@ -1371,12 +1371,18 @@ Handle<Code> LoadIC::ComputeLoadHandler(LookupResult* lookup, |
| } |
| return isolate()->stub_cache()->ComputeLoadViaGetter( |
| name, receiver, holder, function); |
| - } else if (receiver->IsJSArray() && |
| - name->Equals(isolate()->heap()->length_string())) { |
| - PropertyIndex lengthIndex = PropertyIndex::NewHeaderIndex( |
| - JSArray::kLengthOffset / kPointerSize); |
| - return isolate()->stub_cache()->ComputeLoadField( |
| - name, receiver, holder, lengthIndex, Representation::Tagged()); |
| + } else if (name->Equals(isolate()->heap()->length_string())) { |
| + if (receiver->IsJSArray()) { |
| + PropertyIndex lengthIndex = PropertyIndex::NewHeaderIndex( |
| + JSArray::kLengthOffset / kPointerSize); |
| + return isolate()->stub_cache()->ComputeLoadField( |
| + name, receiver, holder, lengthIndex, Representation::Tagged()); |
| + } else if (receiver->IsJSTypedArray()) { |
|
Dmitry Lomov (no reviews)
2013/09/19 17:45:46
Are you sure you this code path is hit? For typed
|
| + PropertyIndex lengthIndex = PropertyIndex::NewHeaderIndex( |
| + JSTypedArray::kLengthOffset / kPointerSize); |
| + return isolate()->stub_cache()->ComputeLoadField( |
| + name, receiver, holder, lengthIndex, Representation::Tagged()); |
| + } |
| } |
| // TODO(dcarney): Handle correctly. |
| if (callback->IsDeclaredAccessorInfo()) break; |