| 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/hydrogen.h" | 5 #include "src/hydrogen.h" |
| 6 | 6 |
| 7 #include <sstream> | 7 #include <sstream> |
| 8 | 8 |
| 9 #include "src/v8.h" | 9 #include "src/v8.h" |
| 10 | 10 |
| (...skipping 5666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5677 Runtime::FunctionId function_id = Runtime::kCreateObjectLiteral; | 5677 Runtime::FunctionId function_id = Runtime::kCreateObjectLiteral; |
| 5678 literal = Add<HCallRuntime>(isolate()->factory()->empty_string(), | 5678 literal = Add<HCallRuntime>(isolate()->factory()->empty_string(), |
| 5679 Runtime::FunctionForId(function_id), | 5679 Runtime::FunctionForId(function_id), |
| 5680 4); | 5680 4); |
| 5681 } | 5681 } |
| 5682 | 5682 |
| 5683 // The object is expected in the bailout environment during computation | 5683 // The object is expected in the bailout environment during computation |
| 5684 // of the property values and is the value of the entire expression. | 5684 // of the property values and is the value of the entire expression. |
| 5685 Push(literal); | 5685 Push(literal); |
| 5686 | 5686 |
| 5687 expr->CalculateEmitStore(zone()); | |
| 5688 | |
| 5689 for (int i = 0; i < expr->properties()->length(); i++) { | 5687 for (int i = 0; i < expr->properties()->length(); i++) { |
| 5690 ObjectLiteral::Property* property = expr->properties()->at(i); | 5688 ObjectLiteral::Property* property = expr->properties()->at(i); |
| 5691 if (property->is_computed_name()) return Bailout(kComputedPropertyName); | 5689 if (property->is_computed_name()) return Bailout(kComputedPropertyName); |
| 5692 if (property->IsCompileTimeValue()) continue; | 5690 if (property->IsCompileTimeValue()) continue; |
| 5693 | 5691 |
| 5694 Literal* key = property->key()->AsLiteral(); | 5692 Literal* key = property->key()->AsLiteral(); |
| 5695 Expression* value = property->value(); | 5693 Expression* value = property->value(); |
| 5696 | 5694 |
| 5697 switch (property->kind()) { | 5695 switch (property->kind()) { |
| 5698 case ObjectLiteral::Property::MATERIALIZED_LITERAL: | 5696 case ObjectLiteral::Property::MATERIALIZED_LITERAL: |
| (...skipping 7435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13134 if (ShouldProduceTraceOutput()) { | 13132 if (ShouldProduceTraceOutput()) { |
| 13135 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 13133 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
| 13136 } | 13134 } |
| 13137 | 13135 |
| 13138 #ifdef DEBUG | 13136 #ifdef DEBUG |
| 13139 graph_->Verify(false); // No full verify. | 13137 graph_->Verify(false); // No full verify. |
| 13140 #endif | 13138 #endif |
| 13141 } | 13139 } |
| 13142 | 13140 |
| 13143 } } // namespace v8::internal | 13141 } } // namespace v8::internal |
| OLD | NEW |