Index: runtime/vm/flow_graph_compiler_mips.cc |
=================================================================== |
--- runtime/vm/flow_graph_compiler_mips.cc (revision 36988) |
+++ runtime/vm/flow_graph_compiler_mips.cc (working copy) |
@@ -1002,9 +1002,8 @@ |
__ mov(PP, T1); |
// Patch point is after the eventually inlined function object. |
- AddCurrentDescriptor(PcDescriptors::kEntryPatch, |
- Isolate::kNoDeoptId, |
- 0); // No token position. |
+ entry_patch_pc_offset_ = assembler()->CodeSize(); |
+ |
intptr_t threshold = FLAG_optimization_counter_threshold; |
__ lw(T1, FieldAddress(function_reg, Function::usage_counter_offset())); |
if (is_optimizing()) { |
@@ -1026,9 +1025,7 @@ |
__ Bind(&dont_branch); |
} else if (!flow_graph().IsCompiledForOsr()) { |
- AddCurrentDescriptor(PcDescriptors::kEntryPatch, |
- Isolate::kNoDeoptId, |
- 0); // No token position. |
+ entry_patch_pc_offset_ = assembler()->CodeSize(); |
} |
__ Comment("Enter frame"); |
if (flow_graph().IsCompiledForOsr()) { |
@@ -1133,14 +1130,13 @@ |
GenerateDeferredCode(); |
// Emit function patching code. This will be swapped with the first 5 bytes |
// at entry point. |
- AddCurrentDescriptor(PcDescriptors::kPatchCode, |
- Isolate::kNoDeoptId, |
- 0); // No token position. |
+ patch_code_pc_offset_ = assembler()->CodeSize(); |
__ BranchPatchable(&StubCode::FixCallersTargetLabel()); |
- AddCurrentDescriptor(PcDescriptors::kLazyDeoptJump, |
- Isolate::kNoDeoptId, |
- 0); // No token position. |
- __ Branch(&StubCode::DeoptimizeLazyLabel()); |
+ |
+ if (is_optimizing()) { |
+ lazy_deopt_pc_offset_ = assembler()->CodeSize(); |
+ __ Branch(&StubCode::DeoptimizeLazyLabel()); |
+ } |
} |