| 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 6051 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6062 } | 6062 } |
| 6063 | 6063 |
| 6064 // The array is expected in the bailout environment during computation | 6064 // The array is expected in the bailout environment during computation |
| 6065 // of the property values and is the value of the entire expression. | 6065 // of the property values and is the value of the entire expression. |
| 6066 Push(literal); | 6066 Push(literal); |
| 6067 | 6067 |
| 6068 HInstruction* elements = NULL; | 6068 HInstruction* elements = NULL; |
| 6069 | 6069 |
| 6070 for (int i = 0; i < length; i++) { | 6070 for (int i = 0; i < length; i++) { |
| 6071 Expression* subexpr = subexprs->at(i); | 6071 Expression* subexpr = subexprs->at(i); |
| 6072 if (subexpr->IsSpread()) { | 6072 DCHECK(!subexpr->IsSpread()); |
| 6073 return Bailout(kSpread); | |
| 6074 } | |
| 6075 | 6073 |
| 6076 // If the subexpression is a literal or a simple materialized literal it | 6074 // If the subexpression is a literal or a simple materialized literal it |
| 6077 // is already set in the cloned array. | 6075 // is already set in the cloned array. |
| 6078 if (CompileTimeValue::IsCompileTimeValue(subexpr)) continue; | 6076 if (CompileTimeValue::IsCompileTimeValue(subexpr)) continue; |
| 6079 | 6077 |
| 6080 CHECK_ALIVE(VisitForValue(subexpr)); | 6078 CHECK_ALIVE(VisitForValue(subexpr)); |
| 6081 HValue* value = Pop(); | 6079 HValue* value = Pop(); |
| 6082 if (!Smi::IsValid(i)) return Bailout(kNonSmiKeyInArrayLiteral); | 6080 if (!Smi::IsValid(i)) return Bailout(kNonSmiKeyInArrayLiteral); |
| 6083 | 6081 |
| 6084 elements = AddLoadElements(literal); | 6082 elements = AddLoadElements(literal); |
| (...skipping 7505 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13590 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 13588 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
| 13591 } | 13589 } |
| 13592 | 13590 |
| 13593 #ifdef DEBUG | 13591 #ifdef DEBUG |
| 13594 graph_->Verify(false); // No full verify. | 13592 graph_->Verify(false); // No full verify. |
| 13595 #endif | 13593 #endif |
| 13596 } | 13594 } |
| 13597 | 13595 |
| 13598 } // namespace internal | 13596 } // namespace internal |
| 13599 } // namespace v8 | 13597 } // namespace v8 |
| OLD | NEW |