Index: src/hydrogen.cc |
diff --git a/src/hydrogen.cc b/src/hydrogen.cc |
index 4908586f7c757c1654004bd1513930b694908d83..7267773c2682c7facf4359ed9c669ab0727deca2 100644 |
--- a/src/hydrogen.cc |
+++ b/src/hydrogen.cc |
@@ -3075,7 +3075,6 @@ void HGraphBuilder::PreProcessOsrEntry(IterationStatement* statement) { |
} |
} |
- |
AddSimulate(osr_entry_id); |
AddInstruction(new(zone()) HOsrEntry(osr_entry_id)); |
HContext* context = new(zone()) HContext; |
@@ -3256,10 +3255,8 @@ void HGraphBuilder::VisitForInStatement(ForInStatement* stmt) { |
CHECK_ALIVE(VisitForValue(stmt->enumerable())); |
HValue* enumerable = Top(); // Leave enumerable at the top. |
- HValue* context = environment()->LookupContext(); |
- |
HInstruction* map = AddInstruction(new(zone()) HForInPrepareMap( |
- context, enumerable)); |
+ environment()->LookupContext(), enumerable)); |
AddSimulate(stmt->PrepareId()); |
HInstruction* array = AddInstruction( |
@@ -3336,9 +3333,11 @@ void HGraphBuilder::VisitForInStatement(ForInStatement* stmt) { |
set_current_block(body_exit); |
HValue* current_index = Pop(); |
- PushAndAdd( |
- new(zone()) HAdd(context, current_index, graph()->GetConstant1())); |
- |
+ HInstruction* new_index = new(zone()) HAdd(environment()->LookupContext(), |
+ current_index, |
+ graph()->GetConstant1()); |
+ new_index->AssumeRepresentation(Representation::Integer32()); |
+ PushAndAdd(new_index); |
body_exit = current_block(); |
} |