| OLD | NEW | 
|---|
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "src/crankshaft/hydrogen.h" | 5 #include "src/crankshaft/hydrogen.h" | 
| 6 | 6 | 
| 7 #include <sstream> | 7 #include <sstream> | 
| 8 | 8 | 
| 9 #include "src/allocation-site-scopes.h" | 9 #include "src/allocation-site-scopes.h" | 
| 10 #include "src/ast/ast-numbering.h" | 10 #include "src/ast/ast-numbering.h" | 
| (...skipping 5272 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 5283                                       break_info.break_block()); | 5283                                       break_info.break_block()); | 
| 5284   set_current_block(loop_exit); | 5284   set_current_block(loop_exit); | 
| 5285 } | 5285 } | 
| 5286 | 5286 | 
| 5287 | 5287 | 
| 5288 void HOptimizedGraphBuilder::VisitForInStatement(ForInStatement* stmt) { | 5288 void HOptimizedGraphBuilder::VisitForInStatement(ForInStatement* stmt) { | 
| 5289   DCHECK(!HasStackOverflow()); | 5289   DCHECK(!HasStackOverflow()); | 
| 5290   DCHECK(current_block() != NULL); | 5290   DCHECK(current_block() != NULL); | 
| 5291   DCHECK(current_block()->HasPredecessor()); | 5291   DCHECK(current_block()->HasPredecessor()); | 
| 5292 | 5292 | 
| 5293   if (!FLAG_optimize_for_in) { |  | 
| 5294     return Bailout(kForInStatementOptimizationIsDisabled); |  | 
| 5295   } |  | 
| 5296 |  | 
| 5297   if (!stmt->each()->IsVariableProxy() || | 5293   if (!stmt->each()->IsVariableProxy() || | 
| 5298       !stmt->each()->AsVariableProxy()->var()->IsStackLocal()) { | 5294       !stmt->each()->AsVariableProxy()->var()->IsStackLocal()) { | 
| 5299     return Bailout(kForInStatementWithNonLocalEachVariable); | 5295     return Bailout(kForInStatementWithNonLocalEachVariable); | 
| 5300   } | 5296   } | 
| 5301 | 5297 | 
| 5302   Variable* each_var = stmt->each()->AsVariableProxy()->var(); | 5298   Variable* each_var = stmt->each()->AsVariableProxy()->var(); | 
| 5303 | 5299 | 
| 5304   CHECK_ALIVE(VisitForValue(stmt->enumerable())); | 5300   CHECK_ALIVE(VisitForValue(stmt->enumerable())); | 
| 5305   HValue* enumerable = Top();  // Leave enumerable at the top. | 5301   HValue* enumerable = Top();  // Leave enumerable at the top. | 
| 5306 | 5302 | 
| (...skipping 8309 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 13616     isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 13612     isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 
| 13617   } | 13613   } | 
| 13618 | 13614 | 
| 13619 #ifdef DEBUG | 13615 #ifdef DEBUG | 
| 13620   graph_->Verify(false);  // No full verify. | 13616   graph_->Verify(false);  // No full verify. | 
| 13621 #endif | 13617 #endif | 
| 13622 } | 13618 } | 
| 13623 | 13619 | 
| 13624 }  // namespace internal | 13620 }  // namespace internal | 
| 13625 }  // namespace v8 | 13621 }  // namespace v8 | 
| OLD | NEW | 
|---|