| Index: runtime/vm/flow_graph_compiler_arm64.cc
|
| diff --git a/runtime/vm/flow_graph_compiler_arm64.cc b/runtime/vm/flow_graph_compiler_arm64.cc
|
| index 0880b34641974613bc0e5025b74e1b4493a9cf95..d1e5a717ec73ad3760f32ff4ac2acf49a4360243 100644
|
| --- a/runtime/vm/flow_graph_compiler_arm64.cc
|
| +++ b/runtime/vm/flow_graph_compiler_arm64.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"
|
| @@ -1110,6 +1111,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::kDeoptCallLengthInInstructions;
|
| + ++i) {
|
| + __ orr(R0, ZR, Operand(R0)); // nop
|
| + }
|
| lazy_deopt_pc_offset_ = assembler()->CodeSize();
|
| __ BranchPatchable(*StubCode::DeoptimizeLazy_entry());
|
| }
|
|
|