Index: src/code-stubs-hydrogen.cc |
diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc |
index 793034c1e2232b4b364c4ee16f86c56fd5903084..62ad816562bd543f9bbded7e2cbb8f3e9026f6d4 100644 |
--- a/src/code-stubs-hydrogen.cc |
+++ b/src/code-stubs-hydrogen.cc |
@@ -444,8 +444,8 @@ HValue* CodeStubGraphBuilder<FastCloneRegExpStub>::BuildCodeStub() { |
HValue* literals_array = Add<HLoadNamedField>( |
closure, nullptr, HObjectAccess::ForLiteralsPointer()); |
HInstruction* boilerplate = Add<HLoadKeyed>( |
- literals_array, literal_index, nullptr, FAST_ELEMENTS, NEVER_RETURN_HOLE, |
- LiteralsArray::kOffsetToFirstLiteral - kHeapObjectTag); |
+ literals_array, literal_index, nullptr, nullptr, FAST_ELEMENTS, |
+ NEVER_RETURN_HOLE, LiteralsArray::kOffsetToFirstLiteral - kHeapObjectTag); |
IfBuilder if_notundefined(this); |
if_notundefined.IfNot<HCompareObjectEqAndBranch>( |
@@ -504,8 +504,8 @@ HValue* CodeStubGraphBuilder<FastCloneShallowArrayStub>::BuildCodeStub() { |
closure, nullptr, HObjectAccess::ForLiteralsPointer()); |
HInstruction* allocation_site = Add<HLoadKeyed>( |
- literals_array, literal_index, nullptr, FAST_ELEMENTS, NEVER_RETURN_HOLE, |
- LiteralsArray::kOffsetToFirstLiteral - kHeapObjectTag); |
+ literals_array, literal_index, nullptr, nullptr, FAST_ELEMENTS, |
+ NEVER_RETURN_HOLE, LiteralsArray::kOffsetToFirstLiteral - kHeapObjectTag); |
IfBuilder checker(this); |
checker.IfNot<HCompareObjectEqAndBranch, HValue*>(allocation_site, |
undefined); |
@@ -572,8 +572,8 @@ HValue* CodeStubGraphBuilder<FastCloneShallowObjectStub>::BuildCodeStub() { |
closure, nullptr, HObjectAccess::ForLiteralsPointer()); |
HInstruction* allocation_site = Add<HLoadKeyed>( |
- literals_array, literal_index, nullptr, FAST_ELEMENTS, NEVER_RETURN_HOLE, |
- LiteralsArray::kOffsetToFirstLiteral - kHeapObjectTag); |
+ literals_array, literal_index, nullptr, nullptr, FAST_ELEMENTS, |
+ NEVER_RETURN_HOLE, LiteralsArray::kOffsetToFirstLiteral - kHeapObjectTag); |
IfBuilder checker(this); |
checker.IfNot<HCompareObjectEqAndBranch, HValue*>(allocation_site, |
@@ -702,7 +702,7 @@ HValue* CodeStubGraphBuilder<CreateAllocationSiteStub>::BuildCodeStub() { |
HInstruction* feedback_vector = GetParameter(0); |
HInstruction* slot = GetParameter(1); |
- Add<HStoreKeyed>(feedback_vector, slot, object, FAST_ELEMENTS, |
+ Add<HStoreKeyed>(feedback_vector, slot, object, nullptr, FAST_ELEMENTS, |
INITIALIZING_STORE); |
return feedback_vector; |
} |
@@ -734,7 +734,7 @@ HValue* CodeStubGraphBuilder<CreateWeakCellStub>::BuildCodeStub() { |
HInstruction* feedback_vector = |
GetParameter(CreateWeakCellDescriptor::kVectorIndex); |
HInstruction* slot = GetParameter(CreateWeakCellDescriptor::kSlotIndex); |
- Add<HStoreKeyed>(feedback_vector, slot, object, FAST_ELEMENTS, |
+ Add<HStoreKeyed>(feedback_vector, slot, object, nullptr, FAST_ELEMENTS, |
INITIALIZING_STORE); |
return graph()->GetConstant0(); |
} |
@@ -890,8 +890,8 @@ HValue* CodeStubGraphBuilderBase::UnmappedCase(HValue* elements, HValue* key, |
HValue* value) { |
HValue* result = NULL; |
HInstruction* backing_store = |
- Add<HLoadKeyed>(elements, graph()->GetConstant1(), nullptr, FAST_ELEMENTS, |
- ALLOW_RETURN_HOLE); |
+ Add<HLoadKeyed>(elements, graph()->GetConstant1(), nullptr, nullptr, |
+ FAST_ELEMENTS, ALLOW_RETURN_HOLE); |
Add<HCheckMaps>(backing_store, isolate()->factory()->fixed_array_map()); |
HValue* backing_store_length = Add<HLoadNamedField>( |
backing_store, nullptr, HObjectAccess::ForFixedArrayLength()); |
@@ -901,10 +901,10 @@ HValue* CodeStubGraphBuilderBase::UnmappedCase(HValue* elements, HValue* key, |
in_unmapped_range.Then(); |
{ |
if (value == NULL) { |
- result = Add<HLoadKeyed>(backing_store, key, nullptr, FAST_HOLEY_ELEMENTS, |
- NEVER_RETURN_HOLE); |
+ result = Add<HLoadKeyed>(backing_store, key, nullptr, nullptr, |
+ FAST_HOLEY_ELEMENTS, NEVER_RETURN_HOLE); |
} else { |
- Add<HStoreKeyed>(backing_store, key, value, FAST_HOLEY_ELEMENTS); |
+ Add<HStoreKeyed>(backing_store, key, value, nullptr, FAST_HOLEY_ELEMENTS); |
} |
} |
in_unmapped_range.ElseDeopt(Deoptimizer::kOutsideOfRange); |
@@ -961,8 +961,9 @@ HValue* CodeStubGraphBuilderBase::EmitKeyedSloppyArguments(HValue* receiver, |
in_range.Then(); |
{ |
HValue* index = AddUncasted<HAdd>(key, constant_two); |
- HInstruction* mapped_index = Add<HLoadKeyed>( |
- elements, index, nullptr, FAST_HOLEY_ELEMENTS, ALLOW_RETURN_HOLE); |
+ HInstruction* mapped_index = |
+ Add<HLoadKeyed>(elements, index, nullptr, nullptr, FAST_HOLEY_ELEMENTS, |
+ ALLOW_RETURN_HOLE); |
IfBuilder is_valid(this); |
is_valid.IfNot<HCompareObjectEqAndBranch>(mapped_index, |
@@ -973,15 +974,17 @@ HValue* CodeStubGraphBuilderBase::EmitKeyedSloppyArguments(HValue* receiver, |
// mapped_index is not the hole that it is indeed, a smi. An unnecessary |
// smi check is being emitted. |
HValue* the_context = Add<HLoadKeyed>(elements, graph()->GetConstant0(), |
- nullptr, FAST_ELEMENTS); |
+ nullptr, nullptr, FAST_ELEMENTS); |
STATIC_ASSERT(Context::kHeaderSize == FixedArray::kHeaderSize); |
if (is_load) { |
- HValue* result = Add<HLoadKeyed>(the_context, mapped_index, nullptr, |
- FAST_ELEMENTS, ALLOW_RETURN_HOLE); |
+ HValue* result = |
+ Add<HLoadKeyed>(the_context, mapped_index, nullptr, nullptr, |
+ FAST_ELEMENTS, ALLOW_RETURN_HOLE); |
environment()->Push(result); |
} else { |
DCHECK(value != NULL); |
- Add<HStoreKeyed>(the_context, mapped_index, value, FAST_ELEMENTS); |
+ Add<HStoreKeyed>(the_context, mapped_index, value, nullptr, |
+ FAST_ELEMENTS); |
environment()->Push(value); |
} |
} |
@@ -1326,7 +1329,7 @@ HValue* CodeStubGraphBuilderBase::BuildArrayNArgumentsConstructor( |
HInstruction* argument = Add<HAccessArgumentsAt>( |
argument_elements, checked_length, key); |
- Add<HStoreKeyed>(elements, key, argument, kind); |
+ Add<HStoreKeyed>(elements, key, argument, nullptr, kind); |
builder.EndBody(); |
return new_object; |
} |
@@ -1939,8 +1942,8 @@ HInstruction* CodeStubGraphBuilderBase::LoadFromOptimizedCodeMap( |
HValue* field_offset_value = Add<HConstant>(field_offset); |
field_slot = AddUncasted<HAdd>(iterator, field_offset_value); |
} |
- HInstruction* field_entry = |
- Add<HLoadKeyed>(optimized_map, field_slot, nullptr, FAST_ELEMENTS); |
+ HInstruction* field_entry = Add<HLoadKeyed>(optimized_map, field_slot, |
+ nullptr, nullptr, FAST_ELEMENTS); |
return field_entry; |
} |
@@ -2359,13 +2362,13 @@ HValue* CodeStubGraphBuilder<KeyedLoadGenericStub>::BuildCodeStub() { |
Add<HConstant>(probe_base + KeyedLookupCache::kKeyIndex)); |
key_index->ClearFlag(HValue::kCanOverflow); |
HValue* map_to_check = |
- Add<HLoadKeyed>(cache_keys, map_index, nullptr, FAST_ELEMENTS, |
- NEVER_RETURN_HOLE, 0); |
+ Add<HLoadKeyed>(cache_keys, map_index, nullptr, nullptr, |
+ FAST_ELEMENTS, NEVER_RETURN_HOLE, 0); |
lookup_if->If<HCompareObjectEqAndBranch>(map_to_check, map); |
lookup_if->And(); |
HValue* key_to_check = |
- Add<HLoadKeyed>(cache_keys, key_index, nullptr, FAST_ELEMENTS, |
- NEVER_RETURN_HOLE, 0); |
+ Add<HLoadKeyed>(cache_keys, key_index, nullptr, nullptr, |
+ FAST_ELEMENTS, NEVER_RETURN_HOLE, 0); |
lookup_if->If<HCompareObjectEqAndBranch>(key_to_check, key); |
lookup_if->Then(); |
{ |
@@ -2376,7 +2379,7 @@ HValue* CodeStubGraphBuilder<KeyedLoadGenericStub>::BuildCodeStub() { |
HValue* index = AddUncasted<HAdd>(hash, Add<HConstant>(probe)); |
index->ClearFlag(HValue::kCanOverflow); |
HValue* property_index = |
- Add<HLoadKeyed>(cache_field_offsets, index, nullptr, |
+ Add<HLoadKeyed>(cache_field_offsets, index, nullptr, cache_keys, |
INT32_ELEMENTS, NEVER_RETURN_HOLE, 0); |
Push(property_index); |
} |