| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 <ostream> | 5 #include <ostream> |
| 6 | 6 |
| 7 #include "src/accessors.h" | 7 #include "src/accessors.h" |
| 8 #include "src/compilation-dependencies.h" | 8 #include "src/compilation-dependencies.h" |
| 9 #include "src/compiler/access-info.h" | 9 #include "src/compiler/access-info.h" |
| 10 #include "src/field-index-inl.h" | 10 #include "src/field-index-inl.h" |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 field_check_(field_check), | 128 field_check_(field_check), |
| 129 field_type_(field_type) {} | 129 field_type_(field_type) {} |
| 130 | 130 |
| 131 | 131 |
| 132 AccessInfoFactory::AccessInfoFactory(CompilationDependencies* dependencies, | 132 AccessInfoFactory::AccessInfoFactory(CompilationDependencies* dependencies, |
| 133 Handle<Context> native_context, Zone* zone) | 133 Handle<Context> native_context, Zone* zone) |
| 134 : dependencies_(dependencies), | 134 : dependencies_(dependencies), |
| 135 native_context_(native_context), | 135 native_context_(native_context), |
| 136 isolate_(native_context->GetIsolate()), | 136 isolate_(native_context->GetIsolate()), |
| 137 type_cache_(TypeCache::Get()), | 137 type_cache_(TypeCache::Get()), |
| 138 zone_(zone) {} | 138 zone_(zone) { |
| 139 DCHECK(native_context->IsNativeContext()); |
| 140 } |
| 139 | 141 |
| 140 | 142 |
| 141 bool AccessInfoFactory::ComputeElementAccessInfo( | 143 bool AccessInfoFactory::ComputeElementAccessInfo( |
| 142 Handle<Map> map, AccessMode access_mode, ElementAccessInfo* access_info) { | 144 Handle<Map> map, AccessMode access_mode, ElementAccessInfo* access_info) { |
| 143 // Check if it is safe to inline element access for the {map}. | 145 // Check if it is safe to inline element access for the {map}. |
| 144 if (!CanInlineElementAccess(map)) return false; | 146 if (!CanInlineElementAccess(map)) return false; |
| 145 | 147 |
| 146 ElementsKind const elements_kind = map->elements_kind(); | 148 ElementsKind const elements_kind = map->elements_kind(); |
| 147 | 149 |
| 148 // Certain (monomorphic) stores need a prototype chain check because shape | 150 // Certain (monomorphic) stores need a prototype chain check because shape |
| (...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 471 } | 473 } |
| 472 return false; | 474 return false; |
| 473 } | 475 } |
| 474 | 476 |
| 475 | 477 |
| 476 Factory* AccessInfoFactory::factory() const { return isolate()->factory(); } | 478 Factory* AccessInfoFactory::factory() const { return isolate()->factory(); } |
| 477 | 479 |
| 478 } // namespace compiler | 480 } // namespace compiler |
| 479 } // namespace internal | 481 } // namespace internal |
| 480 } // namespace v8 | 482 } // namespace v8 |
| OLD | NEW |