| Index: runtime/vm/flow_graph_compiler_arm.cc
|
| diff --git a/runtime/vm/flow_graph_compiler_arm.cc b/runtime/vm/flow_graph_compiler_arm.cc
|
| index b4df97c4b0ca2491d393f3f4e2d04da26ad692ff..3c3b1eaf591f4e498de46c44eb68e4e9a45c0f59 100644
|
| --- a/runtime/vm/flow_graph_compiler_arm.cc
|
| +++ b/runtime/vm/flow_graph_compiler_arm.cc
|
| @@ -13,6 +13,7 @@
|
| #include "vm/dart_entry.h"
|
| #include "vm/deopt_instructions.h"
|
| #include "vm/il_printer.h"
|
| +#include "vm/instructions.h"
|
| #include "vm/locations.h"
|
| #include "vm/object_store.h"
|
| #include "vm/parser.h"
|
| @@ -1109,6 +1110,13 @@ void FlowGraphCompiler::CompileGraph() {
|
| GenerateDeferredCode();
|
|
|
| if (is_optimizing()) {
|
| + // Leave enough space for patching in case of lazy deoptimization from
|
| + // deferred code.
|
| + for (intptr_t i = 0;
|
| + i < CallPattern::DeoptCallPatternLengthInInstructions();
|
| + ++i) {
|
| + __ nop();
|
| + }
|
| lazy_deopt_pc_offset_ = assembler()->CodeSize();
|
| __ Branch(*StubCode::DeoptimizeLazy_entry());
|
| }
|
|
|