| Index: runtime/vm/intermediate_language.cc
|
| diff --git a/runtime/vm/intermediate_language.cc b/runtime/vm/intermediate_language.cc
|
| index b04cc21913e7549c5ee4d3a418d8e44c12b06212..1acc66dd66fc5920e1373685f0fc9d62f3d0c924 100644
|
| --- a/runtime/vm/intermediate_language.cc
|
| +++ b/runtime/vm/intermediate_language.cc
|
| @@ -256,6 +256,7 @@ GraphEntryInstr::GraphEntryInstr(const ParsedFunction& parsed_function,
|
| catch_entries_(),
|
| initial_definitions_(),
|
| osr_id_(osr_id),
|
| + entry_count_(0),
|
| spill_slot_count_(0),
|
| fixed_slot_count_(0) {
|
| }
|
| @@ -794,6 +795,7 @@ void BlockEntryInstr::DiscoverBlocks(
|
|
|
| bool BlockEntryInstr::PruneUnreachable(FlowGraphBuilder* builder,
|
| GraphEntryInstr* graph_entry,
|
| + Instruction* parent,
|
| intptr_t osr_id,
|
| BitVector* block_marks) {
|
| // Search for the instruction with the OSR id. Use a depth first search
|
| @@ -820,7 +822,7 @@ bool BlockEntryInstr::PruneUnreachable(FlowGraphBuilder* builder,
|
| ASSERT(instr->previous() == this);
|
|
|
| GotoInstr* goto_join = new GotoInstr(AsJoinEntry());
|
| - goto_join->deopt_id_ = deopt_id_;
|
| + goto_join->deopt_id_ = parent->deopt_id_;
|
| graph_entry->normal_entry()->LinkTo(goto_join);
|
| return true;
|
| }
|
| @@ -830,6 +832,7 @@ bool BlockEntryInstr::PruneUnreachable(FlowGraphBuilder* builder,
|
| for (intptr_t i = instr->SuccessorCount() - 1; i >= 0; --i) {
|
| if (instr->SuccessorAt(i)->PruneUnreachable(builder,
|
| graph_entry,
|
| + instr,
|
| osr_id,
|
| block_marks)) {
|
| return true;
|
| @@ -1545,19 +1548,6 @@ LocationSummary* TargetEntryInstr::MakeLocationSummary() const {
|
| }
|
|
|
|
|
| -void TargetEntryInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| - __ Bind(compiler->GetJumpLabel(this));
|
| - if (!compiler->is_optimizing()) {
|
| - compiler->AddCurrentDescriptor(PcDescriptors::kDeopt,
|
| - deopt_id_,
|
| - Scanner::kDummyTokenIndex);
|
| - }
|
| - if (HasParallelMove()) {
|
| - compiler->parallel_move_resolver()->EmitNativeCode(parallel_move());
|
| - }
|
| -}
|
| -
|
| -
|
| LocationSummary* CatchBlockEntryInstr::MakeLocationSummary() const {
|
| UNREACHABLE();
|
| return NULL;
|
|
|