| Index: runtime/vm/intermediate_language.h
|
| ===================================================================
|
| --- runtime/vm/intermediate_language.h (revision 26962)
|
| +++ runtime/vm/intermediate_language.h (working copy)
|
| @@ -1986,13 +1986,17 @@
|
|
|
| class ReThrowInstr : public TemplateInstruction<0> {
|
| public:
|
| - explicit ReThrowInstr(intptr_t token_pos) : token_pos_(token_pos) { }
|
| + // 'catch_try_index' can be CatchClauseNode::kInvalidTryIndex if the
|
| + // rethrow has been artifically generated by the parser.
|
| + ReThrowInstr(intptr_t token_pos, intptr_t catch_try_index)
|
| + : token_pos_(token_pos), catch_try_index_(catch_try_index) {}
|
|
|
| DECLARE_INSTRUCTION(ReThrow)
|
|
|
| virtual intptr_t ArgumentCount() const { return 2; }
|
|
|
| intptr_t token_pos() const { return token_pos_; }
|
| + intptr_t catch_try_index() const { return catch_try_index_; }
|
|
|
| virtual bool CanDeoptimize() const { return true; }
|
|
|
| @@ -2002,6 +2006,7 @@
|
|
|
| private:
|
| const intptr_t token_pos_;
|
| + const intptr_t catch_try_index_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ReThrowInstr);
|
| };
|
|
|