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

Unified Diff: vm/flow_graph_builder.cc

Issue 10829098: Eliminate unnecessary deoptimization environments. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/runtime/
Patch Set: Created 8 years, 5 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: vm/flow_graph_builder.cc
===================================================================
--- vm/flow_graph_builder.cc (revision 10050)
+++ vm/flow_graph_builder.cc (working copy)
@@ -2632,10 +2632,9 @@
// 2. Process normal instructions.
for (ForwardInstructionIterator it(block_entry); !it.Done(); it.Advance()) {
Instruction* current = it.Current();
- // Attach current environment to the instruction.
- // TODO(fschneider): Currently each instruction gets a full copy of the
- // environment. This should be optimized: Only instructions that can
- // deoptimize should have uses of the environment values.
+ // Attach current environment to the instruction. First, each instruction
+ // gets a full copy of the environment. Later we optimize this by
+ // eliminating unnecessary environments.
current->set_env(new Environment(*env, fixed_parameter_count));
// 2a. Handle uses:
« no previous file with comments | « vm/flow_graph_allocator.cc ('k') | vm/flow_graph_compiler.cc » ('j') | vm/flow_graph_compiler.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698