| Index: runtime/vm/deopt_instructions.cc
|
| diff --git a/runtime/vm/deopt_instructions.cc b/runtime/vm/deopt_instructions.cc
|
| index ae38a71afe89b0c34f686a605fc835a1020a1467..e658740f4cae75447090f79a13e20eaf7061bb9c 100644
|
| --- a/runtime/vm/deopt_instructions.cc
|
| +++ b/runtime/vm/deopt_instructions.cc
|
| @@ -7,6 +7,7 @@
|
| #include "vm/assembler.h"
|
| #include "vm/code_patcher.h"
|
| #include "vm/compiler.h"
|
| +#include "vm/disassembler.h"
|
| #include "vm/intermediate_language.h"
|
| #include "vm/locations.h"
|
| #include "vm/parser.h"
|
| @@ -52,6 +53,13 @@ DeoptContext::DeoptContext(const StackFrame* frame,
|
| deoptimizing_code_(deoptimizing_code) {
|
| const TypedData& deopt_info = TypedData::Handle(
|
| code.GetDeoptInfoAtPc(frame->pc(), &deopt_reason_, &deopt_flags_));
|
| +#if defined(DEBUG)
|
| + if (deopt_info.IsNull()) {
|
| + OS::PrintErr("Missing deopt info for pc %" Px "\n", frame->pc());
|
| + DisassembleToStdout formatter;
|
| + code.Disassemble(&formatter);
|
| + }
|
| +#endif
|
| ASSERT(!deopt_info.IsNull());
|
| deopt_info_ = deopt_info.raw();
|
|
|
|
|