Index: src/builtins/builtins-array.cc |
diff --git a/src/builtins/builtins-array.cc b/src/builtins/builtins-array.cc |
index bb9fc3db5ef82c36540754966ac294a9b193223b..d3839c7670d43b3d451bb3bd12c60f1f51f442c4 100644 |
--- a/src/builtins/builtins-array.cc |
+++ b/src/builtins/builtins-array.cc |
@@ -225,9 +225,7 @@ void Builtins::Generate_FastArrayPush(compiler::CodeAssemblerState* state) { |
// to figure out whether the length property is still writable. |
assembler.Comment( |
"Disallow pushing onto arrays in dictionary named property mode"); |
- Node* bit_field3 = assembler.LoadMapBitField3(map); |
- assembler.GotoIf(assembler.IsSetWord32<Map::DictionaryMap>(bit_field3), |
- &runtime); |
+ assembler.GotoIf(assembler.IsDictionaryMap(map), &runtime); |
// Check whether the length property is writable. The length property is the |
// only default named property on arrays. It's nonconfigurable, hence is |
@@ -237,15 +235,15 @@ void Builtins::Generate_FastArrayPush(compiler::CodeAssemblerState* state) { |
descriptors, DescriptorArray::ToDetailsIndex(0)); |
mask = READ_ONLY << PropertyDetails::AttributesField::kShift; |
Node* mask_node = assembler.SmiConstant(mask); |
- test = assembler.WordAnd(details, mask_node); |
+ test = assembler.SmiAnd(details, mask_node); |
assembler.GotoIf(assembler.WordEqual(test, mask_node), &runtime); |
arg_index.Bind(assembler.IntPtrConstant(0)); |
kind = assembler.DecodeWord32<Map::ElementsKindBits>(bit_field2); |
assembler.GotoIf( |
- assembler.IntPtrGreaterThan( |
- kind, assembler.IntPtrConstant(FAST_HOLEY_SMI_ELEMENTS)), |
+ assembler.Int32GreaterThan( |
+ kind, assembler.Int32Constant(FAST_HOLEY_SMI_ELEMENTS)), |
&object_push_pre); |
Node* new_length = assembler.BuildAppendJSArray( |
@@ -273,8 +271,8 @@ void Builtins::Generate_FastArrayPush(compiler::CodeAssemblerState* state) { |
assembler.Bind(&object_push_pre); |
{ |
- assembler.Branch(assembler.IntPtrGreaterThan( |
- kind, assembler.IntPtrConstant(FAST_HOLEY_ELEMENTS)), |
+ assembler.Branch(assembler.Int32GreaterThan( |
+ kind, assembler.Int32Constant(FAST_HOLEY_ELEMENTS)), |
&double_push, &object_push); |
} |
@@ -2202,7 +2200,7 @@ void Builtins::Generate_ArrayIndexOf(compiler::CodeAssemblerState* state) { |
} |
assembler.Bind(&return_found); |
- assembler.Return(assembler.ChangeInt32ToTagged(index_var.value())); |
+ assembler.Return(assembler.SmiTag(index_var.value())); |
assembler.Bind(&return_not_found); |
assembler.Return(assembler.NumberConstant(-1)); |
@@ -2339,10 +2337,9 @@ void Builtins::Generate_ArrayIteratorPrototypeNext( |
assembler.GotoUnless(assembler.SmiBelow(index, length), &set_done); |
Node* one = assembler.SmiConstant(Smi::FromInt(1)); |
- assembler.StoreObjectFieldNoWriteBarrier( |
- iterator, JSArrayIterator::kNextIndexOffset, |
- assembler.IntPtrAdd(assembler.BitcastTaggedToWord(index), |
- assembler.BitcastTaggedToWord(one))); |
+ assembler.StoreObjectFieldNoWriteBarrier(iterator, |
+ JSArrayIterator::kNextIndexOffset, |
+ assembler.SmiAdd(index, one)); |
var_done.Bind(assembler.FalseConstant()); |
Node* elements = assembler.LoadElements(array); |
@@ -2566,19 +2563,20 @@ void Builtins::Generate_ArrayIteratorPrototypeNext( |
assembler.GotoUnless(assembler.SmiBelow(index, length), &set_done); |
- Node* one = assembler.SmiConstant(Smi::FromInt(1)); |
+ Node* one = assembler.SmiConstant(1); |
assembler.StoreObjectFieldNoWriteBarrier( |
iterator, JSArrayIterator::kNextIndexOffset, |
- assembler.IntPtrAdd(assembler.BitcastTaggedToWord(index), |
- assembler.BitcastTaggedToWord(one))); |
+ assembler.SmiAdd(index, one)); |
var_done.Bind(assembler.FalseConstant()); |
Node* elements = assembler.LoadElements(array); |
Node* base_ptr = assembler.LoadObjectField( |
elements, FixedTypedArrayBase::kBasePointerOffset); |
Node* external_ptr = assembler.LoadObjectField( |
- elements, FixedTypedArrayBase::kExternalPointerOffset); |
- Node* data_ptr = assembler.IntPtrAdd(base_ptr, external_ptr); |
+ elements, FixedTypedArrayBase::kExternalPointerOffset, |
+ MachineType::Pointer()); |
+ Node* data_ptr = assembler.IntPtrAdd( |
+ assembler.BitcastTaggedToWord(base_ptr), external_ptr); |
static int32_t kInstanceType[] = { |
JS_TYPED_ARRAY_KEY_ITERATOR_TYPE, |
@@ -2624,7 +2622,7 @@ void Builtins::Generate_ArrayIteratorPrototypeNext( |
{ |
Node* value_uint8 = assembler.LoadFixedTypedArrayElement( |
data_ptr, index, UINT8_ELEMENTS, CodeStubAssembler::SMI_PARAMETERS); |
- var_value.Bind(assembler.SmiFromWord(value_uint8)); |
+ var_value.Bind(assembler.SmiFromWord32(value_uint8)); |
assembler.Goto(&allocate_entry_if_needed); |
} |
@@ -2632,7 +2630,7 @@ void Builtins::Generate_ArrayIteratorPrototypeNext( |
{ |
Node* value_int8 = assembler.LoadFixedTypedArrayElement( |
data_ptr, index, INT8_ELEMENTS, CodeStubAssembler::SMI_PARAMETERS); |
- var_value.Bind(assembler.SmiFromWord(value_int8)); |
+ var_value.Bind(assembler.SmiFromWord32(value_int8)); |
assembler.Goto(&allocate_entry_if_needed); |
} |
@@ -2641,7 +2639,7 @@ void Builtins::Generate_ArrayIteratorPrototypeNext( |
Node* value_uint16 = assembler.LoadFixedTypedArrayElement( |
data_ptr, index, UINT16_ELEMENTS, |
CodeStubAssembler::SMI_PARAMETERS); |
- var_value.Bind(assembler.SmiFromWord(value_uint16)); |
+ var_value.Bind(assembler.SmiFromWord32(value_uint16)); |
assembler.Goto(&allocate_entry_if_needed); |
} |
@@ -2649,7 +2647,7 @@ void Builtins::Generate_ArrayIteratorPrototypeNext( |
{ |
Node* value_int16 = assembler.LoadFixedTypedArrayElement( |
data_ptr, index, INT16_ELEMENTS, CodeStubAssembler::SMI_PARAMETERS); |
- var_value.Bind(assembler.SmiFromWord(value_int16)); |
+ var_value.Bind(assembler.SmiFromWord32(value_int16)); |
assembler.Goto(&allocate_entry_if_needed); |
} |