| 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 <memory> | 7 #include <memory> |
| 8 #include <sstream> | 8 #include <sstream> |
| 9 | 9 |
| 10 #include "src/allocation-site-scopes.h" | 10 #include "src/allocation-site-scopes.h" |
| (...skipping 5455 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5466 } | 5466 } |
| 5467 | 5467 |
| 5468 if (!boilerplate.is_null() && | 5468 if (!boilerplate.is_null() && |
| 5469 IsFastLiteral(boilerplate, kMaxFastLiteralDepth, &max_properties)) { | 5469 IsFastLiteral(boilerplate, kMaxFastLiteralDepth, &max_properties)) { |
| 5470 AllocationSiteUsageContext site_context(isolate(), site, false); | 5470 AllocationSiteUsageContext site_context(isolate(), site, false); |
| 5471 site_context.EnterNewScope(); | 5471 site_context.EnterNewScope(); |
| 5472 literal = BuildFastLiteral(boilerplate, &site_context); | 5472 literal = BuildFastLiteral(boilerplate, &site_context); |
| 5473 site_context.ExitScope(site, boilerplate); | 5473 site_context.ExitScope(site, boilerplate); |
| 5474 } else { | 5474 } else { |
| 5475 NoObservableSideEffectsScope no_effects(this); | 5475 NoObservableSideEffectsScope no_effects(this); |
| 5476 Handle<FixedArray> constant_properties = | 5476 Handle<BoilerplateDescription> constant_properties = |
| 5477 expr->GetOrBuildConstantProperties(isolate()); | 5477 expr->GetOrBuildConstantProperties(isolate()); |
| 5478 int literal_index = expr->literal_index(); | 5478 int literal_index = expr->literal_index(); |
| 5479 int flags = expr->ComputeFlags(true); | 5479 int flags = expr->ComputeFlags(true); |
| 5480 | 5480 |
| 5481 Add<HPushArguments>(AddThisFunction(), Add<HConstant>(literal_index), | 5481 Add<HPushArguments>(AddThisFunction(), Add<HConstant>(literal_index), |
| 5482 Add<HConstant>(constant_properties), | 5482 Add<HConstant>(constant_properties), |
| 5483 Add<HConstant>(flags)); | 5483 Add<HConstant>(flags)); |
| 5484 | 5484 |
| 5485 Runtime::FunctionId function_id = Runtime::kCreateObjectLiteral; | 5485 Runtime::FunctionId function_id = Runtime::kCreateObjectLiteral; |
| 5486 literal = Add<HCallRuntime>(Runtime::FunctionForId(function_id), 4); | 5486 literal = Add<HCallRuntime>(Runtime::FunctionForId(function_id), 4); |
| (...skipping 7535 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13022 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 13022 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
| 13023 } | 13023 } |
| 13024 | 13024 |
| 13025 #ifdef DEBUG | 13025 #ifdef DEBUG |
| 13026 graph_->Verify(false); // No full verify. | 13026 graph_->Verify(false); // No full verify. |
| 13027 #endif | 13027 #endif |
| 13028 } | 13028 } |
| 13029 | 13029 |
| 13030 } // namespace internal | 13030 } // namespace internal |
| 13031 } // namespace v8 | 13031 } // namespace v8 |
| OLD | NEW |