Index: runtime/vm/flow_graph_optimizer.cc |
=================================================================== |
--- runtime/vm/flow_graph_optimizer.cc (revision 41393) |
+++ runtime/vm/flow_graph_optimizer.cc (working copy) |
@@ -5140,8 +5140,7 @@ |
static bool IsLoadEliminationCandidate(Instruction* instr) { |
return instr->IsLoadField() |
|| instr->IsLoadIndexed() |
- || instr->IsLoadStaticField() |
- || instr->IsCurrentContext(); |
+ || instr->IsLoadStaticField(); |
} |
@@ -5284,9 +5283,6 @@ |
// Indexed location with a constant index. |
kConstantIndexed, |
- |
- // Current context. |
- kContext |
}; |
Place(const Place& other) |
@@ -5373,21 +5369,6 @@ |
break; |
} |
- case Instruction::kCurrentContext: |
- kind_ = kContext; |
- ASSERT(instr->AsCurrentContext()->representation() == kTagged); |
- representation_ = kTagged; |
- *is_load = true; |
- break; |
- |
- case Instruction::kStoreContext: |
- kind_ = kContext; |
- ASSERT(instr->AsStoreContext()->RequiredInputRepresentation( |
- StoreContextInstr::kValuePos) == kTagged); |
- representation_ = kTagged; |
- *is_store = true; |
- break; |
- |
default: |
break; |
} |
@@ -5427,7 +5408,6 @@ |
case kConstantIndexed: |
return true; |
- case kContext: |
case kNone: |
return false; |
} |
@@ -5527,9 +5507,6 @@ |
"<%s[%" Pd "]>", |
DefinitionName(instance()), |
index_constant()); |
- |
- case kContext: |
- return "<context>"; |
} |
UNREACHABLE(); |
return "<?>"; |
@@ -5956,10 +5933,8 @@ |
// X.f or X.@offs alias with *.f and *.@offs respectively. |
CrossAlias(alias, alias->CopyWithoutInstance()); |
} |
+ break; |
- case Place::kContext: |
- return; |
- |
case Place::kNone: |
UNREACHABLE(); |
} |
@@ -6158,10 +6133,6 @@ |
return store_static_field->value()->definition(); |
} |
- if (instr->IsStoreContext()) { |
- return instr->InputAt(0)->definition(); |
- } |
- |
UNREACHABLE(); // Should only be called for supported store instructions. |
return NULL; |
} |
@@ -7225,7 +7196,6 @@ |
// Can't eliminate stores that initialized unboxed fields. |
return false; |
} |
- case Instruction::kStoreContext: |
case Instruction::kStoreIndexed: |
case Instruction::kStoreStaticField: |
return true; |
@@ -7765,9 +7735,6 @@ |
// -------------------------------------------------------------------------- |
// Analysis of non-definition instructions. They do not have values so they |
// cannot have constant values. |
-void ConstantPropagator::VisitStoreContext(StoreContextInstr* instr) { } |
- |
- |
void ConstantPropagator::VisitCheckStackOverflow( |
CheckStackOverflowInstr* instr) { } |