Index: src/hydrogen.cc |
diff --git a/src/hydrogen.cc b/src/hydrogen.cc |
index c2305d7bbfeb0bfcd4374651856da0109ce28bd4..570b2bffa4ff07f544b40a4306df2cea91c33cbf 100644 |
--- a/src/hydrogen.cc |
+++ b/src/hydrogen.cc |
@@ -4122,6 +4122,10 @@ void HOptimizedGraphBuilder::VisitExpressions( |
bool HOptimizedGraphBuilder::BuildGraph() { |
+ if (info()->function()->is_generator()) { |
+ Bailout("function is a generator"); |
+ return false; |
+ } |
Scope* scope = info()->scope(); |
if (scope->HasIllegalRedeclaration()) { |
Bailout("function with illegal redeclaration"); |
@@ -5125,6 +5129,12 @@ void HOptimizedGraphBuilder::VisitReturnStatement(ReturnStatement* stmt) { |
} |
+void HOptimizedGraphBuilder::VisitYield(Yield* expr) { |
+ // Generators are not optimized, so we should never get here. |
+ UNREACHABLE(); |
+} |
+ |
+ |
void HOptimizedGraphBuilder::VisitWithStatement(WithStatement* stmt) { |
ASSERT(!HasStackOverflow()); |
ASSERT(current_block() != NULL); |