Index: runtime/vm/intermediate_language.h |
diff --git a/runtime/vm/intermediate_language.h b/runtime/vm/intermediate_language.h |
index 3a5ab03deb6adf202f4309041125802439e9cf23..71b4fff47d5a85930dc878dfc4b13c6878e4119b 100644 |
--- a/runtime/vm/intermediate_language.h |
+++ b/runtime/vm/intermediate_language.h |
@@ -898,6 +898,7 @@ FOR_EACH_ABSTRACT_INSTRUCTION(INSTRUCTION_TYPE_CHECK) |
friend class ComparisonInstr; |
friend class Scheduler; |
friend class BlockEntryInstr; |
+ friend class CatchBlockEntryInstr; // deopt_id_ |
// Fetch deopt id without checking if this computation can deoptimize. |
intptr_t GetDeoptId() const { |
@@ -1565,7 +1566,8 @@ class CatchBlockEntryInstr : public BlockEntryInstr { |
intptr_t catch_try_index, |
const LocalVariable& exception_var, |
const LocalVariable& stacktrace_var, |
- bool needs_stacktrace) |
+ bool needs_stacktrace, |
+ intptr_t deopt_id) |
: BlockEntryInstr(block_id, try_index), |
graph_entry_(graph_entry), |
predecessor_(NULL), |
@@ -1573,7 +1575,9 @@ class CatchBlockEntryInstr : public BlockEntryInstr { |
catch_try_index_(catch_try_index), |
exception_var_(exception_var), |
stacktrace_var_(stacktrace_var), |
- needs_stacktrace_(needs_stacktrace) { } |
+ needs_stacktrace_(needs_stacktrace) { |
+ deopt_id_ = deopt_id; |
+ } |
DECLARE_INSTRUCTION(CatchBlockEntry) |