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

Unified Diff: runtime/vm/flow_graph_type_propagator.cc

Issue 14740005: Initial support for polymorphic inlining. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 8 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_type_propagator.cc
diff --git a/runtime/vm/flow_graph_type_propagator.cc b/runtime/vm/flow_graph_type_propagator.cc
index 253697a5b5f95e13a5c5e689de8097ccd6c8314f..6ceb4eec3a8d7147e83e3353802e739963a76161 100644
--- a/runtime/vm/flow_graph_type_propagator.cc
+++ b/runtime/vm/flow_graph_type_propagator.cc
@@ -645,6 +645,16 @@ bool PhiInstr::RecomputeType() {
}
+CompileType RedefinitionInstr::ComputeType() const {
+ return CompileType::None();
+}
+
+
+bool RedefinitionInstr::RecomputeType() {
+ return UpdateType(*value()->Type());
+}
+
+
CompileType IfThenElseInstr::ComputeType() const {
ASSERT(InputCount() == 2);
return CompileType::FromCid(kSmiCid);
@@ -879,6 +889,11 @@ CompileType LoadUntaggedInstr::ComputeType() const {
}
+CompileType LoadClassIdInstr::ComputeType() const {
+ return CompileType::FromCid(kSmiCid);
+}
+
+
CompileType LoadFieldInstr::ComputeType() const {
// Type may be null if the field is a VM field, e.g. context parent.
// Keep it as null for debug purposes and do not return dynamic in production

Powered by Google App Engine
This is Rietveld 408576698