Chromium Code Reviews| Index: src/builtins/builtins-array.cc |
| diff --git a/src/builtins/builtins-array.cc b/src/builtins/builtins-array.cc |
| index e8ee8640c665b16a380fb3f3a2c65eabca1c8929..7b4e7f540c635393dfb1f75e674b7956c17ca1f8 100644 |
| --- a/src/builtins/builtins-array.cc |
| +++ b/src/builtins/builtins-array.cc |
| @@ -1702,11 +1702,12 @@ TF_BUILTIN(ArrayIncludes, CodeStubAssembler) { |
| Bind(&init_len); |
| { |
| - // Handle case where JSArray length is not an Smi in the runtime |
| - Node* len = LoadObjectField(array, JSArray::kLengthOffset); |
| - GotoIfNot(TaggedIsSmi(len), &call_runtime); |
| + // JSArray length is always an Smi for fast arrays. |
| + CSA_ASSERT(this, |
| + TaggedIsSmi(LoadObjectField(array, JSArray::kLengthOffset))); |
| + Node* len = LoadAndUntagObjectField(array, JSArray::kLengthOffset); |
| - len_var.Bind(SmiToWord(len)); |
| + len_var.Bind(len); |
|
caitp
2017/02/25 18:03:06
Do we still need `len_var`? It never changes at an
vabr (Chromium)
2017/02/25 18:35:48
So that I learn more:
(1) Changing would mean that
caitp
2017/02/25 18:40:12
There's another Bind() call before this line, but
|
| GotoIf(IsUndefined(start_from), &select_loop); |