| 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/globals.h" | 9 #include "src/globals.h" |
| 10 #include "src/isolate.h" | 10 #include "src/isolate.h" |
| (...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 281 Handle<Map> GetReceiverMap() const; | 281 Handle<Map> GetReceiverMap() const; |
| 282 | 282 |
| 283 MUST_USE_RESULT inline JSReceiver* NextHolder(Map* map); | 283 MUST_USE_RESULT inline JSReceiver* NextHolder(Map* map); |
| 284 | 284 |
| 285 template <bool is_element> | 285 template <bool is_element> |
| 286 V8_EXPORT_PRIVATE void Start(); | 286 V8_EXPORT_PRIVATE void Start(); |
| 287 template <bool is_element> | 287 template <bool is_element> |
| 288 void NextInternal(Map* map, JSReceiver* holder); | 288 void NextInternal(Map* map, JSReceiver* holder); |
| 289 template <bool is_element> | 289 template <bool is_element> |
| 290 inline State LookupInHolder(Map* map, JSReceiver* holder) { | 290 inline State LookupInHolder(Map* map, JSReceiver* holder) { |
| 291 return map->IsSpecialReceiverMap() | 291 return map->instance_type() <= LAST_SPECIAL_RECEIVER_TYPE |
| 292 ? LookupInSpecialHolder<is_element>(map, holder) | 292 ? LookupInSpecialHolder<is_element>(map, holder) |
| 293 : LookupInRegularHolder<is_element>(map, holder); | 293 : LookupInRegularHolder<is_element>(map, holder); |
| 294 } | 294 } |
| 295 template <bool is_element> | 295 template <bool is_element> |
| 296 State LookupInRegularHolder(Map* map, JSReceiver* holder); | 296 State LookupInRegularHolder(Map* map, JSReceiver* holder); |
| 297 template <bool is_element> | 297 template <bool is_element> |
| 298 State LookupInSpecialHolder(Map* map, JSReceiver* holder); | 298 State LookupInSpecialHolder(Map* map, JSReceiver* holder); |
| 299 template <bool is_element> | 299 template <bool is_element> |
| 300 void RestartLookupForNonMaskingInterceptors() { | 300 void RestartLookupForNonMaskingInterceptors() { |
| 301 RestartInternal<is_element>(InterceptorState::kProcessNonMasking); | 301 RestartInternal<is_element>(InterceptorState::kProcessNonMasking); |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 361 const Handle<JSReceiver> initial_holder_; | 361 const Handle<JSReceiver> initial_holder_; |
| 362 const uint32_t index_; | 362 const uint32_t index_; |
| 363 uint32_t number_; | 363 uint32_t number_; |
| 364 }; | 364 }; |
| 365 | 365 |
| 366 | 366 |
| 367 } // namespace internal | 367 } // namespace internal |
| 368 } // namespace v8 | 368 } // namespace v8 |
| 369 | 369 |
| 370 #endif // V8_LOOKUP_H_ | 370 #endif // V8_LOOKUP_H_ |
| OLD | NEW |