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/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 6057 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6068 LookupDescriptor(*map, *name_); | 6068 LookupDescriptor(*map, *name_); |
6069 if (IsFound()) return LoadResult(map); | 6069 if (IsFound()) return LoadResult(map); |
6070 } | 6070 } |
6071 NotFound(); | 6071 NotFound(); |
6072 return true; | 6072 return true; |
6073 } | 6073 } |
6074 | 6074 |
6075 | 6075 |
6076 bool HOptimizedGraphBuilder::PropertyAccessInfo::IsIntegerIndexedExotic() { | 6076 bool HOptimizedGraphBuilder::PropertyAccessInfo::IsIntegerIndexedExotic() { |
6077 InstanceType instance_type = map_->instance_type(); | 6077 InstanceType instance_type = map_->instance_type(); |
6078 return instance_type == JS_TYPED_ARRAY_TYPE && IsNonArrayIndexInteger(*name_); | 6078 return instance_type == JS_TYPED_ARRAY_TYPE && |
| 6079 IsSpecialIndex(isolate()->unicode_cache(), *name_); |
6079 } | 6080 } |
6080 | 6081 |
6081 | 6082 |
6082 bool HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessMonomorphic() { | 6083 bool HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessMonomorphic() { |
6083 if (!CanInlinePropertyAccess(map_)) return false; | 6084 if (!CanInlinePropertyAccess(map_)) return false; |
6084 if (IsJSObjectFieldAccessor()) return IsLoad(); | 6085 if (IsJSObjectFieldAccessor()) return IsLoad(); |
6085 if (map_->function_with_prototype() && !map_->has_non_instance_prototype() && | 6086 if (map_->function_with_prototype() && !map_->has_non_instance_prototype() && |
6086 name_.is_identical_to(isolate()->factory()->prototype_string())) { | 6087 name_.is_identical_to(isolate()->factory()->prototype_string())) { |
6087 return IsLoad(); | 6088 return IsLoad(); |
6088 } | 6089 } |
(...skipping 7314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13403 if (ShouldProduceTraceOutput()) { | 13404 if (ShouldProduceTraceOutput()) { |
13404 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 13405 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
13405 } | 13406 } |
13406 | 13407 |
13407 #ifdef DEBUG | 13408 #ifdef DEBUG |
13408 graph_->Verify(false); // No full verify. | 13409 graph_->Verify(false); // No full verify. |
13409 #endif | 13410 #endif |
13410 } | 13411 } |
13411 | 13412 |
13412 } } // namespace v8::internal | 13413 } } // namespace v8::internal |
OLD | NEW |