Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(327)

Unified Diff: runtime/vm/flow_graph_optimizer.cc

Issue 678763004: Make CTX allocatable by the register allocator. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: incorporated latest comments Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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) { }

Powered by Google App Engine
This is Rietveld 408576698