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 6175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6186 if (IsFound()) return LoadResult(map); | 6186 if (IsFound()) return LoadResult(map); |
6187 } | 6187 } |
6188 | 6188 |
6189 NotFound(); | 6189 NotFound(); |
6190 return !map->prototype()->IsJSReceiver(); | 6190 return !map->prototype()->IsJSReceiver(); |
6191 } | 6191 } |
6192 | 6192 |
6193 | 6193 |
6194 bool HOptimizedGraphBuilder::PropertyAccessInfo::IsIntegerIndexedExotic() { | 6194 bool HOptimizedGraphBuilder::PropertyAccessInfo::IsIntegerIndexedExotic() { |
6195 InstanceType instance_type = map_->instance_type(); | 6195 InstanceType instance_type = map_->instance_type(); |
6196 return instance_type == JS_TYPED_ARRAY_TYPE && | 6196 return (instance_type == JS_TYPED_ARRAY_TYPE || |
| 6197 instance_type == JS_SHARED_TYPED_ARRAY_TYPE) && |
6197 IsSpecialIndex(isolate()->unicode_cache(), *name_); | 6198 IsSpecialIndex(isolate()->unicode_cache(), *name_); |
6198 } | 6199 } |
6199 | 6200 |
6200 | 6201 |
6201 bool HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessMonomorphic() { | 6202 bool HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessMonomorphic() { |
6202 if (!CanInlinePropertyAccess(map_)) return false; | 6203 if (!CanInlinePropertyAccess(map_)) return false; |
6203 if (IsJSObjectFieldAccessor()) return IsLoad(); | 6204 if (IsJSObjectFieldAccessor()) return IsLoad(); |
6204 if (IsJSArrayBufferViewFieldAccessor()) return IsLoad(); | 6205 if (IsJSArrayBufferViewFieldAccessor()) return IsLoad(); |
6205 if (map_->function_with_prototype() && !map_->has_non_instance_prototype() && | 6206 if (map_->function_with_prototype() && !map_->has_non_instance_prototype() && |
6206 name_.is_identical_to(isolate()->factory()->prototype_string())) { | 6207 name_.is_identical_to(isolate()->factory()->prototype_string())) { |
(...skipping 6926 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13133 if (ShouldProduceTraceOutput()) { | 13134 if (ShouldProduceTraceOutput()) { |
13134 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 13135 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
13135 } | 13136 } |
13136 | 13137 |
13137 #ifdef DEBUG | 13138 #ifdef DEBUG |
13138 graph_->Verify(false); // No full verify. | 13139 graph_->Verify(false); // No full verify. |
13139 #endif | 13140 #endif |
13140 } | 13141 } |
13141 | 13142 |
13142 } } // namespace v8::internal | 13143 } } // namespace v8::internal |
OLD | NEW |