Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(350)

Side by Side Diff: src/hydrogen.cc

Issue 1135493006: Revert of [strong] Object literals create strong objects (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/factory.cc ('k') | src/objects.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 5774 matching lines...) Expand 10 before | Expand all | Expand 10 after
5785 bool uninitialized = false; 5785 bool uninitialized = false;
5786 Handle<Object> literals_cell(literals->get(expr->literal_index()), 5786 Handle<Object> literals_cell(literals->get(expr->literal_index()),
5787 isolate()); 5787 isolate());
5788 Handle<JSObject> boilerplate_object; 5788 Handle<JSObject> boilerplate_object;
5789 if (literals_cell->IsUndefined()) { 5789 if (literals_cell->IsUndefined()) {
5790 uninitialized = true; 5790 uninitialized = true;
5791 Handle<Object> raw_boilerplate; 5791 Handle<Object> raw_boilerplate;
5792 ASSIGN_RETURN_ON_EXCEPTION_VALUE( 5792 ASSIGN_RETURN_ON_EXCEPTION_VALUE(
5793 isolate(), raw_boilerplate, 5793 isolate(), raw_boilerplate,
5794 Runtime::CreateArrayLiteralBoilerplate( 5794 Runtime::CreateArrayLiteralBoilerplate(
5795 isolate(), literals, expr->constant_elements(), 5795 isolate(), literals, expr->constant_elements()),
5796 is_strong(function_language_mode())),
5797 Bailout(kArrayBoilerplateCreationFailed)); 5796 Bailout(kArrayBoilerplateCreationFailed));
5798 5797
5799 boilerplate_object = Handle<JSObject>::cast(raw_boilerplate); 5798 boilerplate_object = Handle<JSObject>::cast(raw_boilerplate);
5800 AllocationSiteCreationContext creation_context(isolate()); 5799 AllocationSiteCreationContext creation_context(isolate());
5801 site = creation_context.EnterNewScope(); 5800 site = creation_context.EnterNewScope();
5802 if (JSObject::DeepWalk(boilerplate_object, &creation_context).is_null()) { 5801 if (JSObject::DeepWalk(boilerplate_object, &creation_context).is_null()) {
5803 return Bailout(kArrayBoilerplateCreationFailed); 5802 return Bailout(kArrayBoilerplateCreationFailed);
5804 } 5803 }
5805 creation_context.ExitScope(site, boilerplate_object); 5804 creation_context.ExitScope(site, boilerplate_object);
5806 literals->set(expr->literal_index(), *site); 5805 literals->set(expr->literal_index(), *site);
(...skipping 7327 matching lines...) Expand 10 before | Expand all | Expand 10 after
13134 if (ShouldProduceTraceOutput()) { 13133 if (ShouldProduceTraceOutput()) {
13135 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); 13134 isolate()->GetHTracer()->TraceHydrogen(name(), graph_);
13136 } 13135 }
13137 13136
13138 #ifdef DEBUG 13137 #ifdef DEBUG
13139 graph_->Verify(false); // No full verify. 13138 graph_->Verify(false); // No full verify.
13140 #endif 13139 #endif
13141 } 13140 }
13142 13141
13143 } } // namespace v8::internal 13142 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/factory.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698