diff --git a/runtime/vm/compiler/backend/flow_graph_checker.cc b/runtime/vm/compiler/backend/flow_graph_checker.cc index b31e9ee836c..bde852188ee 100644 --- a/runtime/vm/compiler/backend/flow_graph_checker.cc +++ b/runtime/vm/compiler/backend/flow_graph_checker.cc @@ -227,9 +227,10 @@ void FlowGraphChecker::VisitInstruction(Instruction* instruction) { // In JIT mode, any instruction which may throw must have a deopt-id, except // tail-call because it replaces the stack frame. - ASSERT(!FLAG_precompiled_mode || !instruction->MayThrow() || - instruction->IsTailCall() || +#if !defined(DART_PRECOMPILER) + ASSERT(!instruction->MayThrow() || instruction->IsTailCall() || instruction->deopt_id() != DeoptId::kNone); +#endif // !defined(DART_PRECOMPILER) // Check all regular inputs. for (intptr_t i = 0, n = instruction->InputCount(); i < n; ++i) { diff --git a/runtime/vm/compiler/backend/il.h b/runtime/vm/compiler/backend/il.h index 32079aea1ee..568af5902dc 100644 --- a/runtime/vm/compiler/backend/il.h +++ b/runtime/vm/compiler/backend/il.h @@ -4190,10 +4190,7 @@ class DropTempsInstr : public Definition { return false; } - virtual bool MayThrow() const { - UNREACHABLE(); - return false; - } + virtual bool MayThrow() const { return false; } virtual TokenPosition token_pos() const { return TokenPosition::kTempMove; }