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 #ifndef V8_COMPILER_ACCESS_INFO_H_ | 5 #ifndef V8_COMPILER_ACCESS_INFO_H_ |
6 #define V8_COMPILER_ACCESS_INFO_H_ | 6 #define V8_COMPILER_ACCESS_INFO_H_ |
7 | 7 |
8 #include <iosfwd> | 8 #include <iosfwd> |
9 | 9 |
10 #include "src/field-index.h" | 10 #include "src/field-index.h" |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 AccessMode access_mode, | 142 AccessMode access_mode, |
143 ZoneVector<ElementAccessInfo>* access_infos); | 143 ZoneVector<ElementAccessInfo>* access_infos); |
144 bool ComputePropertyAccessInfo(Handle<Map> map, Handle<Name> name, | 144 bool ComputePropertyAccessInfo(Handle<Map> map, Handle<Name> name, |
145 AccessMode access_mode, | 145 AccessMode access_mode, |
146 PropertyAccessInfo* access_info); | 146 PropertyAccessInfo* access_info); |
147 bool ComputePropertyAccessInfos(MapHandleList const& maps, Handle<Name> name, | 147 bool ComputePropertyAccessInfos(MapHandleList const& maps, Handle<Name> name, |
148 AccessMode access_mode, | 148 AccessMode access_mode, |
149 ZoneVector<PropertyAccessInfo>* access_infos); | 149 ZoneVector<PropertyAccessInfo>* access_infos); |
150 | 150 |
151 private: | 151 private: |
152 bool ConsolidateElementAccess(MapHandleList const& maps, | 152 bool ConsolidateElementLoad(MapHandleList const& maps, |
153 AccessMode access_mode, | 153 ElementAccessInfo* access_info); |
154 ElementAccessInfo* access_info); | |
155 bool LookupSpecialFieldAccessor(Handle<Map> map, Handle<Name> name, | 154 bool LookupSpecialFieldAccessor(Handle<Map> map, Handle<Name> name, |
156 PropertyAccessInfo* access_info); | 155 PropertyAccessInfo* access_info); |
157 bool LookupTransition(Handle<Map> map, Handle<Name> name, | 156 bool LookupTransition(Handle<Map> map, Handle<Name> name, |
158 MaybeHandle<JSObject> holder, | 157 MaybeHandle<JSObject> holder, |
159 PropertyAccessInfo* access_info); | 158 PropertyAccessInfo* access_info); |
160 | 159 |
161 CompilationDependencies* dependencies() const { return dependencies_; } | 160 CompilationDependencies* dependencies() const { return dependencies_; } |
162 Factory* factory() const; | 161 Factory* factory() const; |
163 Isolate* isolate() const { return isolate_; } | 162 Isolate* isolate() const { return isolate_; } |
164 Handle<Context> native_context() const { return native_context_; } | 163 Handle<Context> native_context() const { return native_context_; } |
165 Zone* zone() const { return zone_; } | 164 Zone* zone() const { return zone_; } |
166 | 165 |
167 CompilationDependencies* const dependencies_; | 166 CompilationDependencies* const dependencies_; |
168 Handle<Context> const native_context_; | 167 Handle<Context> const native_context_; |
169 Isolate* const isolate_; | 168 Isolate* const isolate_; |
170 TypeCache const& type_cache_; | 169 TypeCache const& type_cache_; |
171 Zone* const zone_; | 170 Zone* const zone_; |
172 | 171 |
173 DISALLOW_COPY_AND_ASSIGN(AccessInfoFactory); | 172 DISALLOW_COPY_AND_ASSIGN(AccessInfoFactory); |
174 }; | 173 }; |
175 | 174 |
176 } // namespace compiler | 175 } // namespace compiler |
177 } // namespace internal | 176 } // namespace internal |
178 } // namespace v8 | 177 } // namespace v8 |
179 | 178 |
180 #endif // V8_COMPILER_ACCESS_INFO_H_ | 179 #endif // V8_COMPILER_ACCESS_INFO_H_ |
OLD | NEW |