Chromium Code Reviews| Index: src/compiler/js-builtin-reducer.cc |
| diff --git a/src/compiler/js-builtin-reducer.cc b/src/compiler/js-builtin-reducer.cc |
| index bf72ca47302545484b5bef10b88627210a6daa63..5f426892c324476a7c160bb614e500007f7b0884 100644 |
| --- a/src/compiler/js-builtin-reducer.cc |
| +++ b/src/compiler/js-builtin-reducer.cc |
| @@ -911,27 +911,12 @@ bool HasInstanceTypeWitness(Node* receiver, Node* effect, |
| } |
| return true; |
| } |
| - switch (dominator->opcode()) { |
| - case IrOpcode::kStoreField: { |
| - FieldAccess const& access = FieldAccessOf(dominator->op()); |
| - if (access.base_is_tagged == kTaggedBase && |
| - access.offset == HeapObject::kMapOffset) { |
| - return false; |
| - } |
| - break; |
| - } |
| - case IrOpcode::kStoreElement: |
| - case IrOpcode::kStoreTypedElement: |
| - break; |
| - default: { |
| - DCHECK_EQ(1, dominator->op()->EffectOutputCount()); |
| - if (dominator->op()->EffectInputCount() != 1 || |
| - !dominator->op()->HasProperty(Operator::kNoWrite)) { |
| - // Didn't find any appropriate CheckMaps node. |
| - return false; |
| - } |
| - break; |
| - } |
| + // The instance type doesn't change, so we don't need to pay |
| + // attention to potentially side-effecting nodes here. |
|
Michael Starzinger
2017/01/26 12:45:38
As discussed offline: The instance type of strings
Benedikt Meurer
2017/01/26 12:48:08
Done.
|
| + DCHECK_EQ(1, dominator->op()->EffectOutputCount()); |
| + if (dominator->op()->EffectInputCount() != 1) { |
| + // Didn't find any appropriate CheckMaps node. |
| + return false; |
| } |
| dominator = NodeProperties::GetEffectInput(dominator); |
| } |