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 6048 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6059 LookupDescriptor(*map, *name_); | 6059 LookupDescriptor(*map, *name_); |
6060 if (IsFound()) return LoadResult(map); | 6060 if (IsFound()) return LoadResult(map); |
6061 } | 6061 } |
6062 NotFound(); | 6062 NotFound(); |
6063 return true; | 6063 return true; |
6064 } | 6064 } |
6065 | 6065 |
6066 | 6066 |
6067 bool HOptimizedGraphBuilder::PropertyAccessInfo::IsIntegerIndexedExotic() { | 6067 bool HOptimizedGraphBuilder::PropertyAccessInfo::IsIntegerIndexedExotic() { |
6068 InstanceType instance_type = map_->instance_type(); | 6068 InstanceType instance_type = map_->instance_type(); |
6069 return instance_type == JS_TYPED_ARRAY_TYPE && IsNonArrayIndexInteger(*name_); | 6069 return instance_type == JS_TYPED_ARRAY_TYPE && |
| 6070 IsSpecialIndex(isolate()->unicode_cache(), *name_); |
6070 } | 6071 } |
6071 | 6072 |
6072 | 6073 |
6073 bool HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessMonomorphic() { | 6074 bool HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessMonomorphic() { |
6074 if (!CanInlinePropertyAccess(map_)) return false; | 6075 if (!CanInlinePropertyAccess(map_)) return false; |
6075 if (IsJSObjectFieldAccessor()) return IsLoad(); | 6076 if (IsJSObjectFieldAccessor()) return IsLoad(); |
6076 if (map_->function_with_prototype() && !map_->has_non_instance_prototype() && | 6077 if (map_->function_with_prototype() && !map_->has_non_instance_prototype() && |
6077 name_.is_identical_to(isolate()->factory()->prototype_string())) { | 6078 name_.is_identical_to(isolate()->factory()->prototype_string())) { |
6078 return IsLoad(); | 6079 return IsLoad(); |
6079 } | 6080 } |
(...skipping 7314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13394 if (ShouldProduceTraceOutput()) { | 13395 if (ShouldProduceTraceOutput()) { |
13395 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 13396 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
13396 } | 13397 } |
13397 | 13398 |
13398 #ifdef DEBUG | 13399 #ifdef DEBUG |
13399 graph_->Verify(false); // No full verify. | 13400 graph_->Verify(false); // No full verify. |
13400 #endif | 13401 #endif |
13401 } | 13402 } |
13402 | 13403 |
13403 } } // namespace v8::internal | 13404 } } // namespace v8::internal |
OLD | NEW |