| Index: runtime/vm/flow_graph_compiler_x64.cc
|
| ===================================================================
|
| --- runtime/vm/flow_graph_compiler_x64.cc (revision 10302)
|
| +++ runtime/vm/flow_graph_compiler_x64.cc (working copy)
|
| @@ -24,7 +24,8 @@
|
| DECLARE_FLAG(bool, trace_functions);
|
|
|
|
|
| -void DeoptimizationStub::GenerateCode(FlowGraphCompiler* compiler) {
|
| +void DeoptimizationStub::GenerateCode(FlowGraphCompiler* compiler,
|
| + intptr_t stub_ix) {
|
| Assembler* assem = compiler->assembler();
|
| #define __ assem->
|
| __ Comment("Deopt stub for id %d", deopt_id_);
|
| @@ -64,6 +65,7 @@
|
| }
|
|
|
| if (compiler->IsLeaf()) {
|
| + __ Comment("Leaf method, lazy PC marker setup");
|
| Label L;
|
| __ call(&L);
|
| const intptr_t offset = assem->CodeSize();
|
| @@ -75,10 +77,13 @@
|
| }
|
| __ movq(RAX, Immediate(Smi::RawValue(reason_)));
|
| __ call(&StubCode::DeoptimizeLabel());
|
| - compiler->AddCurrentDescriptor(PcDescriptors::kOther,
|
| - deopt_id_,
|
| - deopt_token_pos_,
|
| - try_index_);
|
| + const intptr_t deopt_info_index = stub_ix;
|
| + compiler->pc_descriptors_list()-> AddDeoptInfo(
|
| + compiler->assembler()->CodeSize(),
|
| + deopt_id_,
|
| + deopt_token_pos_,
|
| + deopt_info_index);
|
| + __ int3();
|
| #undef __
|
| }
|
|
|
|
|