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 6204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6215 if (IsFound()) return LoadResult(map); | 6215 if (IsFound()) return LoadResult(map); |
6216 } | 6216 } |
6217 | 6217 |
6218 NotFound(); | 6218 NotFound(); |
6219 return !map->prototype()->IsJSReceiver(); | 6219 return !map->prototype()->IsJSReceiver(); |
6220 } | 6220 } |
6221 | 6221 |
6222 | 6222 |
6223 bool HOptimizedGraphBuilder::PropertyAccessInfo::IsIntegerIndexedExotic() { | 6223 bool HOptimizedGraphBuilder::PropertyAccessInfo::IsIntegerIndexedExotic() { |
6224 InstanceType instance_type = map_->instance_type(); | 6224 InstanceType instance_type = map_->instance_type(); |
6225 return instance_type == JS_TYPED_ARRAY_TYPE && | 6225 return (instance_type == JS_TYPED_ARRAY_TYPE || |
| 6226 instance_type == JS_SHARED_TYPED_ARRAY_TYPE) && |
6226 IsSpecialIndex(isolate()->unicode_cache(), *name_); | 6227 IsSpecialIndex(isolate()->unicode_cache(), *name_); |
6227 } | 6228 } |
6228 | 6229 |
6229 | 6230 |
6230 bool HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessMonomorphic() { | 6231 bool HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessMonomorphic() { |
6231 if (!CanInlinePropertyAccess(map_)) return false; | 6232 if (!CanInlinePropertyAccess(map_)) return false; |
6232 if (IsJSObjectFieldAccessor()) return IsLoad(); | 6233 if (IsJSObjectFieldAccessor()) return IsLoad(); |
6233 if (IsJSArrayBufferViewFieldAccessor()) return IsLoad(); | 6234 if (IsJSArrayBufferViewFieldAccessor()) return IsLoad(); |
6234 if (map_->function_with_prototype() && !map_->has_non_instance_prototype() && | 6235 if (map_->function_with_prototype() && !map_->has_non_instance_prototype() && |
6235 name_.is_identical_to(isolate()->factory()->prototype_string())) { | 6236 name_.is_identical_to(isolate()->factory()->prototype_string())) { |
(...skipping 6903 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13139 if (ShouldProduceTraceOutput()) { | 13140 if (ShouldProduceTraceOutput()) { |
13140 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 13141 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
13141 } | 13142 } |
13142 | 13143 |
13143 #ifdef DEBUG | 13144 #ifdef DEBUG |
13144 graph_->Verify(false); // No full verify. | 13145 graph_->Verify(false); // No full verify. |
13145 #endif | 13146 #endif |
13146 } | 13147 } |
13147 | 13148 |
13148 } } // namespace v8::internal | 13149 } } // namespace v8::internal |
OLD | NEW |