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

Side by Side Diff: src/hydrogen.cc

Issue 256303007: Don't add code dependencies on transitioning stores eagerly. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 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 | Annotate | Revision Log
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 "hydrogen.h" 5 #include "hydrogen.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "v8.h" 9 #include "v8.h"
10 #include "allocation-site-scopes.h" 10 #include "allocation-site-scopes.h"
(...skipping 5402 matching lines...) Expand 10 before | Expand all | Expand 10 after
5413 field_access = field_access.WithRepresentation(Representation::Tagged()); 5413 field_access = field_access.WithRepresentation(Representation::Tagged());
5414 } 5414 }
5415 5415
5416 // This is a normal store. 5416 // This is a normal store.
5417 instr = New<HStoreNamedField>( 5417 instr = New<HStoreNamedField>(
5418 checked_object->ActualValue(), field_access, value, 5418 checked_object->ActualValue(), field_access, value,
5419 transition_to_field ? INITIALIZING_STORE : STORE_TO_INITIALIZED_ENTRY); 5419 transition_to_field ? INITIALIZING_STORE : STORE_TO_INITIALIZED_ENTRY);
5420 } 5420 }
5421 5421
5422 if (transition_to_field) { 5422 if (transition_to_field) {
5423 HConstant* transition_constant = Add<HConstant>(info->transition()); 5423 Handle<Map> transition(info->transition());
5424 instr->SetTransition(transition_constant, top_info()); 5424 ASSERT(!transition->is_deprecated());
5425 instr->SetChangesFlag(kMaps); 5425 instr->SetTransition(Add<HConstant>(transition));
5426 } 5426 }
5427 return instr; 5427 return instr;
5428 } 5428 }
5429 5429
5430 5430
5431 bool HOptimizedGraphBuilder::PropertyAccessInfo::IsCompatible( 5431 bool HOptimizedGraphBuilder::PropertyAccessInfo::IsCompatible(
5432 PropertyAccessInfo* info) { 5432 PropertyAccessInfo* info) {
5433 if (!CanInlinePropertyAccess(type_)) return false; 5433 if (!CanInlinePropertyAccess(type_)) return false;
5434 5434
5435 // Currently only handle Type::Number as a polymorphic case. 5435 // Currently only handle Type::Number as a polymorphic case.
(...skipping 6231 matching lines...) Expand 10 before | Expand all | Expand 10 after
11667 if (ShouldProduceTraceOutput()) { 11667 if (ShouldProduceTraceOutput()) {
11668 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); 11668 isolate()->GetHTracer()->TraceHydrogen(name(), graph_);
11669 } 11669 }
11670 11670
11671 #ifdef DEBUG 11671 #ifdef DEBUG
11672 graph_->Verify(false); // No full verify. 11672 graph_->Verify(false); // No full verify.
11673 #endif 11673 #endif
11674 } 11674 }
11675 11675
11676 } } // namespace v8::internal 11676 } } // namespace v8::internal
OLDNEW
« src/handles.h ('K') | « src/handles.h ('k') | src/hydrogen-instructions.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698