Index: src/hydrogen.cc |
diff --git a/src/hydrogen.cc b/src/hydrogen.cc |
index 6480fc998cd2dab4e13992b419319f49da374b95..181f9cb4549c0d8a0067313c2626a1340b99b103 100644 |
--- a/src/hydrogen.cc |
+++ b/src/hydrogen.cc |
@@ -3010,6 +3010,15 @@ void HGraph::MergeRemovableSimulates() { |
} |
continue; |
} |
+ if (current->IsReturn()) { |
+ // Drop mergeable simulates in the list. This is safe because |
+ // simulates after instructions with side effects are never added |
+ // to the merge list. |
+ while (!mergelist.is_empty()) { |
+ mergelist.RemoveLast()->DeleteAndReplaceWith(NULL); |
+ } |
+ continue; |
+ } |
// Skip the non-simulates and the first simulate. |
if (!current->IsSimulate()) continue; |
if (first) { |