Index: runtime/vm/intermediate_language.h |
=================================================================== |
--- runtime/vm/intermediate_language.h (revision 40777) |
+++ runtime/vm/intermediate_language.h (working copy) |
@@ -660,14 +660,15 @@ |
Instruction* next() const { return next_; } |
void set_next(Instruction* instr) { |
ASSERT(!IsGraphEntry()); |
- ASSERT(!IsReturn()); |
ASSERT(!IsBranch() || (instr == NULL)); |
ASSERT(!IsPhi()); |
ASSERT(instr == NULL || !instr->IsBlockEntry()); |
// TODO(fschneider): Also add Throw and ReThrow to the list of instructions |
// that do not have a successor. Currently, the graph builder will continue |
- // to append instruction in case of a Throw inside an expression. This |
- // condition should be handled in the graph builder |
+ // to append instructions in case of a Throw inside an expression. This |
+ // condition should be handled in the graph builder. |
+ // Note: there can be instructions after a return statement if the |
+ // return is a "continuation return" in asynchronous code. |
next_ = instr; |
} |