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 5626 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5637 } | 5637 } |
5638 return true; | 5638 return true; |
5639 } | 5639 } |
5640 | 5640 |
5641 | 5641 |
5642 void HOptimizedGraphBuilder::VisitObjectLiteral(ObjectLiteral* expr) { | 5642 void HOptimizedGraphBuilder::VisitObjectLiteral(ObjectLiteral* expr) { |
5643 DCHECK(!HasStackOverflow()); | 5643 DCHECK(!HasStackOverflow()); |
5644 DCHECK(current_block() != NULL); | 5644 DCHECK(current_block() != NULL); |
5645 DCHECK(current_block()->HasPredecessor()); | 5645 DCHECK(current_block()->HasPredecessor()); |
5646 | 5646 |
5647 expr->BuildConstantProperties(isolate()); | |
5648 Handle<JSFunction> closure = function_state()->compilation_info()->closure(); | 5647 Handle<JSFunction> closure = function_state()->compilation_info()->closure(); |
5649 HInstruction* literal; | 5648 HInstruction* literal; |
5650 | 5649 |
5651 // Check whether to use fast or slow deep-copying for boilerplate. | 5650 // Check whether to use fast or slow deep-copying for boilerplate. |
5652 int max_properties = kMaxFastLiteralProperties; | 5651 int max_properties = kMaxFastLiteralProperties; |
5653 Handle<Object> literals_cell(closure->literals()->get(expr->literal_index()), | 5652 Handle<Object> literals_cell(closure->literals()->get(expr->literal_index()), |
5654 isolate()); | 5653 isolate()); |
5655 Handle<AllocationSite> site; | 5654 Handle<AllocationSite> site; |
5656 Handle<JSObject> boilerplate; | 5655 Handle<JSObject> boilerplate; |
5657 if (!literals_cell->IsUndefined()) { | 5656 if (!literals_cell->IsUndefined()) { |
(...skipping 7490 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13148 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 13147 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
13149 } | 13148 } |
13150 | 13149 |
13151 #ifdef DEBUG | 13150 #ifdef DEBUG |
13152 graph_->Verify(false); // No full verify. | 13151 graph_->Verify(false); // No full verify. |
13153 #endif | 13152 #endif |
13154 } | 13153 } |
13155 | 13154 |
13156 } // namespace internal | 13155 } // namespace internal |
13157 } // namespace v8 | 13156 } // namespace v8 |
OLD | NEW |