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

Side by Side Diff: src/hydrogen.cc

Issue 1345313005: [crankshaft] Generalize PropertyAccessInfo to Name (so it can deal with symbols). (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 2 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/hydrogen.h ('k') | src/hydrogen-instructions.h » ('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/allocation-site-scopes.h" 9 #include "src/allocation-site-scopes.h"
10 #include "src/ast-numbering.h" 10 #include "src/ast-numbering.h"
(...skipping 6391 matching lines...) Expand 10 before | Expand all | Expand 10 after
6402 if (IsFound()) return LoadResult(map); 6402 if (IsFound()) return LoadResult(map);
6403 } 6403 }
6404 6404
6405 NotFound(); 6405 NotFound();
6406 return !map->prototype()->IsJSReceiver(); 6406 return !map->prototype()->IsJSReceiver();
6407 } 6407 }
6408 6408
6409 6409
6410 bool HOptimizedGraphBuilder::PropertyAccessInfo::IsIntegerIndexedExotic() { 6410 bool HOptimizedGraphBuilder::PropertyAccessInfo::IsIntegerIndexedExotic() {
6411 InstanceType instance_type = map_->instance_type(); 6411 InstanceType instance_type = map_->instance_type();
6412 return instance_type == JS_TYPED_ARRAY_TYPE && 6412 return instance_type == JS_TYPED_ARRAY_TYPE && name_->IsString() &&
6413 IsSpecialIndex(isolate()->unicode_cache(), *name_); 6413 IsSpecialIndex(isolate()->unicode_cache(), String::cast(*name_));
6414 } 6414 }
6415 6415
6416 6416
6417 bool HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessMonomorphic() { 6417 bool HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessMonomorphic() {
6418 if (!CanInlinePropertyAccess(map_)) return false; 6418 if (!CanInlinePropertyAccess(map_)) return false;
6419 if (IsJSObjectFieldAccessor()) return IsLoad(); 6419 if (IsJSObjectFieldAccessor()) return IsLoad();
6420 if (IsJSArrayBufferViewFieldAccessor()) return IsLoad(); 6420 if (IsJSArrayBufferViewFieldAccessor()) return IsLoad();
6421 if (map_->function_with_prototype() && !map_->has_non_instance_prototype() && 6421 if (map_->function_with_prototype() && !map_->has_non_instance_prototype() &&
6422 name_.is_identical_to(isolate()->factory()->prototype_string())) { 6422 name_.is_identical_to(isolate()->factory()->prototype_string())) {
6423 return IsLoad(); 6423 return IsLoad();
(...skipping 7139 matching lines...) Expand 10 before | Expand all | Expand 10 after
13563 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); 13563 isolate()->GetHTracer()->TraceHydrogen(name(), graph_);
13564 } 13564 }
13565 13565
13566 #ifdef DEBUG 13566 #ifdef DEBUG
13567 graph_->Verify(false); // No full verify. 13567 graph_->Verify(false); // No full verify.
13568 #endif 13568 #endif
13569 } 13569 }
13570 13570
13571 } // namespace internal 13571 } // namespace internal
13572 } // namespace v8 13572 } // namespace v8
OLDNEW
« no previous file with comments | « src/hydrogen.h ('k') | src/hydrogen-instructions.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698