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

Unified Diff: runtime/vm/flow_graph.h

Issue 1700103002: VM: Move representation selection code out of the flow graph optimizer. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: remove some dead code Created 4 years, 10 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
« no previous file with comments | « runtime/vm/compiler.cc ('k') | runtime/vm/flow_graph.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/flow_graph.h
diff --git a/runtime/vm/flow_graph.h b/runtime/vm/flow_graph.h
index 9841716092a0e2373e60b1cb04d799d2b0539510..5ca3d0f2ab1981e083e40bbfbc6ad581efe2cb63 100644
--- a/runtime/vm/flow_graph.h
+++ b/runtime/vm/flow_graph.h
@@ -296,6 +296,16 @@ class FlowGraph : public ZoneAllocated {
intptr_t inlining_id() const { return inlining_id_; }
void set_inlining_id(intptr_t value) { inlining_id_ = value; }
+ // Returns true if any instructions were canonicalized away.
+ bool Canonicalize();
+
+ void SelectRepresentations();
+
+ void WidenSmiToInt32();
+
+ // Remove environments from the instructions which do not deoptimize.
+ void EliminateEnvironments();
+
private:
friend class IfConverter;
friend class BranchSimplifier;
@@ -340,6 +350,14 @@ class FlowGraph : public ZoneAllocated {
// indicates membership in the loop.
BitVector* FindLoop(BlockEntryInstr* m, BlockEntryInstr* n) const;
+ void InsertConversionsFor(Definition* def);
+ void ConvertUse(Value* use, Representation from);
+ void ConvertEnvironmentUse(Value* use, Representation from);
+ void InsertConversion(Representation from,
+ Representation to,
+ Value* use,
+ bool is_environment_use);
+
Thread* thread_;
// DiscoverBlocks computes parent_ and assigned_vars_ which are then used
« no previous file with comments | « runtime/vm/compiler.cc ('k') | runtime/vm/flow_graph.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698