OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_LOOKUP_H_ | 5 #ifndef V8_LOOKUP_H_ |
6 #define V8_LOOKUP_H_ | 6 #define V8_LOOKUP_H_ |
7 | 7 |
8 #include "src/factory.h" | 8 #include "src/factory.h" |
9 #include "src/isolate.h" | 9 #include "src/isolate.h" |
10 #include "src/objects.h" | 10 #include "src/objects.h" |
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
252 inline State LookupInHolder(Map* map, JSReceiver* holder); | 252 inline State LookupInHolder(Map* map, JSReceiver* holder); |
253 void RestartLookupForNonMaskingInterceptors(); | 253 void RestartLookupForNonMaskingInterceptors(); |
254 State LookupNonMaskingInterceptorInHolder(Map* map, JSReceiver* holder); | 254 State LookupNonMaskingInterceptorInHolder(Map* map, JSReceiver* holder); |
255 Handle<Object> FetchValue() const; | 255 Handle<Object> FetchValue() const; |
256 void ReloadPropertyInformation(); | 256 void ReloadPropertyInformation(); |
257 bool SkipInterceptor(JSObject* holder); | 257 bool SkipInterceptor(JSObject* holder); |
258 bool HasInterceptor(Map* map) const; | 258 bool HasInterceptor(Map* map) const; |
259 bool InternalHolderIsReceiverOrHiddenPrototype() const; | 259 bool InternalHolderIsReceiverOrHiddenPrototype() const; |
260 InterceptorInfo* GetInterceptor(JSObject* holder) const; | 260 InterceptorInfo* GetInterceptor(JSObject* holder) const; |
261 | 261 |
262 bool IsBootstrapping() const; | |
263 | |
264 bool check_hidden() const { return (configuration_ & kHidden) != 0; } | 262 bool check_hidden() const { return (configuration_ & kHidden) != 0; } |
265 bool check_interceptor() const { | 263 bool check_interceptor() const { |
266 return !IsBootstrapping() && (configuration_ & kInterceptor) != 0; | 264 return (configuration_ & kInterceptor) != 0; |
267 } | 265 } |
268 bool check_prototype_chain() const { | 266 bool check_prototype_chain() const { |
269 return (configuration_ & kPrototypeChain) != 0; | 267 return (configuration_ & kPrototypeChain) != 0; |
270 } | 268 } |
271 int descriptor_number() const { | 269 int descriptor_number() const { |
272 DCHECK(has_property_); | 270 DCHECK(has_property_); |
273 DCHECK(!holder_map_->is_dictionary_map()); | 271 DCHECK(!holder_map_->is_dictionary_map()); |
274 return number_; | 272 return number_; |
275 } | 273 } |
276 int dictionary_entry() const { | 274 int dictionary_entry() const { |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
308 Handle<JSReceiver> holder_; | 306 Handle<JSReceiver> holder_; |
309 Handle<Map> holder_map_; | 307 Handle<Map> holder_map_; |
310 const Handle<JSReceiver> initial_holder_; | 308 const Handle<JSReceiver> initial_holder_; |
311 uint32_t number_; | 309 uint32_t number_; |
312 }; | 310 }; |
313 | 311 |
314 | 312 |
315 } } // namespace v8::internal | 313 } } // namespace v8::internal |
316 | 314 |
317 #endif // V8_LOOKUP_H_ | 315 #endif // V8_LOOKUP_H_ |
OLD | NEW |