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

Unified Diff: runtime/vm/flow_graph_compiler.cc

Issue 10892037: Stop attaching try_index to individual instructions put it at block entry instead. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: address Srdjan's comment, make meaning of CatchTryIndex clear Created 8 years, 4 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/flow_graph_builder.cc ('k') | runtime/vm/flow_graph_compiler_ia32.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/flow_graph_compiler.cc
diff --git a/runtime/vm/flow_graph_compiler.cc b/runtime/vm/flow_graph_compiler.cc
index a9361c12cb132519d4ba68cf76f0d01d89935e3e..5baf235b4734cbb428d9bcc314e996b1587fa5a8 100644
--- a/runtime/vm/flow_graph_compiler.cc
+++ b/runtime/vm/flow_graph_compiler.cc
@@ -160,6 +160,7 @@ void FlowGraphCompiler::VisitBlocks() {
}
}
}
+ set_current_block(NULL);
}
@@ -223,13 +224,12 @@ void FlowGraphCompiler::AddExceptionHandler(intptr_t try_index,
// Uses current pc position and try-index.
void FlowGraphCompiler::AddCurrentDescriptor(PcDescriptors::Kind kind,
intptr_t deopt_id,
- intptr_t token_pos,
- intptr_t try_index) {
+ intptr_t token_pos) {
pc_descriptors_list()->AddDescriptor(kind,
assembler()->CodeSize(),
deopt_id,
token_pos,
- try_index);
+ CurrentTryIndex());
}
@@ -370,7 +370,6 @@ bool FlowGraphCompiler::TryIntrinsify() {
void FlowGraphCompiler::GenerateInstanceCall(
intptr_t deopt_id,
intptr_t token_pos,
- intptr_t try_index,
const String& function_name,
intptr_t argument_count,
const Array& argument_names,
@@ -398,13 +397,12 @@ void FlowGraphCompiler::GenerateInstanceCall(
ExternalLabel target_label("InlineCache", label_address);
EmitInstanceCall(&target_label, ic_data, arguments_descriptor, argument_count,
- deopt_id, token_pos, try_index, locs);
+ deopt_id, token_pos, locs);
}
void FlowGraphCompiler::GenerateStaticCall(intptr_t deopt_id,
intptr_t token_pos,
- intptr_t try_index,
const Function& function,
intptr_t argument_count,
const Array& argument_names,
@@ -412,7 +410,7 @@ void FlowGraphCompiler::GenerateStaticCall(intptr_t deopt_id,
const Array& arguments_descriptor =
DartEntry::ArgumentsDescriptor(argument_count, argument_names);
EmitStaticCall(function, arguments_descriptor, argument_count,
- deopt_id, token_pos, try_index, locs);
+ deopt_id, token_pos, locs);
}
@@ -476,7 +474,6 @@ void FlowGraphCompiler::EmitTestAndCall(const ICData& ic_data,
Label* deopt,
intptr_t deopt_id,
intptr_t token_index,
- intptr_t try_index,
LocationSummary* locs) {
ASSERT(!ic_data.IsNull() && (ic_data.NumberOfChecks() > 0));
Label match_found;
@@ -492,7 +489,6 @@ void FlowGraphCompiler::EmitTestAndCall(const ICData& ic_data,
const Function& target = Function::ZoneHandle(ic_data.GetTargetAt(i));
GenerateStaticCall(deopt_id,
token_index,
- try_index,
target,
arg_count,
arg_names,
« no previous file with comments | « runtime/vm/flow_graph_builder.cc ('k') | runtime/vm/flow_graph_compiler_ia32.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698