Index: src/crankshaft/hydrogen.cc |
diff --git a/src/crankshaft/hydrogen.cc b/src/crankshaft/hydrogen.cc |
index 959e409500ab66ffe93613f83f68c7d16e3162ec..0e9c01c34ec0cc766e099e192bfee2a5b4c9b34f 100644 |
--- a/src/crankshaft/hydrogen.cc |
+++ b/src/crankshaft/hydrogen.cc |
@@ -11787,6 +11787,7 @@ void HOptimizedGraphBuilder::VisitVariableDeclaration( |
DCHECK(!slot.IsInvalid()); |
globals_.Add(handle(Smi::FromInt(slot.ToInt()), isolate()), zone()); |
globals_.Add(isolate()->factory()->undefined_value(), zone()); |
+ globals_.Add(isolate()->factory()->undefined_value(), zone()); |
return; |
} |
case VariableLocation::PARAMETER: |
@@ -11811,6 +11812,12 @@ void HOptimizedGraphBuilder::VisitFunctionDeclaration( |
FeedbackVectorSlot slot = proxy->VariableFeedbackSlot(); |
DCHECK(!slot.IsInvalid()); |
globals_.Add(handle(Smi::FromInt(slot.ToInt()), isolate()), zone()); |
+ |
+ // We need the slot where the literals array lives, too. |
+ slot = declaration->fun()->LiteralFeedbackSlot(); |
+ DCHECK(!slot.IsInvalid()); |
+ globals_.Add(handle(Smi::FromInt(slot.ToInt()), isolate()), zone()); |
+ |
Handle<SharedFunctionInfo> function = Compiler::GetSharedFunctionInfo( |
declaration->fun(), current_info()->script(), top_info()); |
// Check for stack-overflow exception. |