| OLD | NEW | 
|    1 // Copyright 2016 the V8 project authors. All rights reserved. |    1 // Copyright 2016 the V8 project authors. All rights reserved. | 
|    2 // Use of this source code is governed by a BSD-style license that can be |    2 // Use of this source code is governed by a BSD-style license that can be | 
|    3 // found in the LICENSE file. |    3 // found in the LICENSE file. | 
|    4  |    4  | 
|    5 #include "src/builtins/builtins-utils.h" |    5 #include "src/builtins/builtins-utils.h" | 
|    6 #include "src/builtins/builtins.h" |    6 #include "src/builtins/builtins.h" | 
|    7 #include "src/code-factory.h" |    7 #include "src/code-factory.h" | 
|    8 #include "src/code-stub-assembler.h" |    8 #include "src/code-stub-assembler.h" | 
|    9  |    9  | 
|   10 namespace v8 { |   10 namespace v8 { | 
| (...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  337   { |  337   { | 
|  338     // Shared entry points. |  338     // Shared entry points. | 
|  339     Label return_len(&assembler), |  339     Label return_len(&assembler), | 
|  340         return_two53minus1(&assembler, Label::kDeferred), |  340         return_two53minus1(&assembler, Label::kDeferred), | 
|  341         return_zero(&assembler, Label::kDeferred); |  341         return_zero(&assembler, Label::kDeferred); | 
|  342  |  342  | 
|  343     // Load the current {len} value. |  343     // Load the current {len} value. | 
|  344     Node* len = var_len.value(); |  344     Node* len = var_len.value(); | 
|  345  |  345  | 
|  346     // Check if {len} is a positive Smi. |  346     // Check if {len} is a positive Smi. | 
|  347     assembler.GotoIf(assembler.WordIsPositiveSmi(len), &return_len); |  347     assembler.GotoIf(assembler.TaggedIsPositiveSmi(len), &return_len); | 
|  348  |  348  | 
|  349     // Check if {len} is a (negative) Smi. |  349     // Check if {len} is a (negative) Smi. | 
|  350     assembler.GotoIf(assembler.TaggedIsSmi(len), &return_zero); |  350     assembler.GotoIf(assembler.TaggedIsSmi(len), &return_zero); | 
|  351  |  351  | 
|  352     // Check if {len} is a HeapNumber. |  352     // Check if {len} is a HeapNumber. | 
|  353     Label if_lenisheapnumber(&assembler), |  353     Label if_lenisheapnumber(&assembler), | 
|  354         if_lenisnotheapnumber(&assembler, Label::kDeferred); |  354         if_lenisnotheapnumber(&assembler, Label::kDeferred); | 
|  355     assembler.Branch(assembler.IsHeapNumberMap(assembler.LoadMap(len)), |  355     assembler.Branch(assembler.IsHeapNumberMap(assembler.LoadMap(len)), | 
|  356                      &if_lenisheapnumber, &if_lenisnotheapnumber); |  356                      &if_lenisheapnumber, &if_lenisnotheapnumber); | 
|  357  |  357  | 
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  482   CodeStubAssembler assembler(state); |  482   CodeStubAssembler assembler(state); | 
|  483  |  483  | 
|  484   Node* object = assembler.Parameter(Descriptor::kObject); |  484   Node* object = assembler.Parameter(Descriptor::kObject); | 
|  485   Node* context = assembler.Parameter(Descriptor::kContext); |  485   Node* context = assembler.Parameter(Descriptor::kContext); | 
|  486  |  486  | 
|  487   assembler.Return(assembler.Typeof(object, context)); |  487   assembler.Return(assembler.Typeof(object, context)); | 
|  488 } |  488 } | 
|  489  |  489  | 
|  490 }  // namespace internal |  490 }  // namespace internal | 
|  491 }  // namespace v8 |  491 }  // namespace v8 | 
| OLD | NEW |