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

Side by Side Diff: src/hydrogen.cc

Issue 540903002: Flatten property_kind into state. Add UNKNOWN as a state for dict-mode receivers (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Add DCHECKs Created 6 years, 3 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
« no previous file with comments | « src/bootstrapper.cc ('k') | src/ic/arm/handler-compiler-arm.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 <algorithm> 7 #include <algorithm>
8 8
9 #include "src/v8.h" 9 #include "src/v8.h"
10 10
(...skipping 5279 matching lines...) Expand 10 before | Expand all | Expand 10 after
5290 5290
5291 5291
5292 HOptimizedGraphBuilder::GlobalPropertyAccess 5292 HOptimizedGraphBuilder::GlobalPropertyAccess
5293 HOptimizedGraphBuilder::LookupGlobalProperty(Variable* var, LookupIterator* it, 5293 HOptimizedGraphBuilder::LookupGlobalProperty(Variable* var, LookupIterator* it,
5294 PropertyAccessType access_type) { 5294 PropertyAccessType access_type) {
5295 if (var->is_this() || !current_info()->has_global_object()) { 5295 if (var->is_this() || !current_info()->has_global_object()) {
5296 return kUseGeneric; 5296 return kUseGeneric;
5297 } 5297 }
5298 5298
5299 switch (it->state()) { 5299 switch (it->state()) {
5300 case LookupIterator::ACCESSOR:
5300 case LookupIterator::ACCESS_CHECK: 5301 case LookupIterator::ACCESS_CHECK:
5301 case LookupIterator::INTERCEPTOR: 5302 case LookupIterator::INTERCEPTOR:
5302 case LookupIterator::NOT_FOUND: 5303 case LookupIterator::NOT_FOUND:
5303 return kUseGeneric; 5304 return kUseGeneric;
5304 case LookupIterator::PROPERTY: 5305 case LookupIterator::DATA:
5305 if (!it->HasProperty()) return kUseGeneric; 5306 if (access_type == STORE && it->IsReadOnly()) return kUseGeneric;
5306 switch (it->property_kind()) { 5307 return kUseCell;
5307 case LookupIterator::DATA:
5308 if (access_type == STORE && it->IsReadOnly()) return kUseGeneric;
5309 return kUseCell;
5310 case LookupIterator::ACCESSOR:
5311 return kUseGeneric;
5312 }
5313 case LookupIterator::JSPROXY: 5308 case LookupIterator::JSPROXY:
5314 case LookupIterator::TRANSITION: 5309 case LookupIterator::TRANSITION:
5310 case LookupIterator::UNKNOWN:
5315 UNREACHABLE(); 5311 UNREACHABLE();
5316 } 5312 }
5317 UNREACHABLE(); 5313 UNREACHABLE();
5318 return kUseGeneric; 5314 return kUseGeneric;
5319 } 5315 }
5320 5316
5321 5317
5322 HValue* HOptimizedGraphBuilder::BuildContextChainWalk(Variable* var) { 5318 HValue* HOptimizedGraphBuilder::BuildContextChainWalk(Variable* var) {
5323 DCHECK(var->IsContextSlot()); 5319 DCHECK(var->IsContextSlot());
5324 HValue* context = environment()->context(); 5320 HValue* context = environment()->context();
(...skipping 7168 matching lines...) Expand 10 before | Expand all | Expand 10 after
12493 if (ShouldProduceTraceOutput()) { 12489 if (ShouldProduceTraceOutput()) {
12494 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); 12490 isolate()->GetHTracer()->TraceHydrogen(name(), graph_);
12495 } 12491 }
12496 12492
12497 #ifdef DEBUG 12493 #ifdef DEBUG
12498 graph_->Verify(false); // No full verify. 12494 graph_->Verify(false); // No full verify.
12499 #endif 12495 #endif
12500 } 12496 }
12501 12497
12502 } } // namespace v8::internal 12498 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/bootstrapper.cc ('k') | src/ic/arm/handler-compiler-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698