| 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 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 Configuration configuration = DEFAULT) | 62 Configuration configuration = DEFAULT) |
| 63 : configuration_(ComputeConfiguration(configuration, name)), | 63 : configuration_(ComputeConfiguration(configuration, name)), |
| 64 interceptor_state_(InterceptorState::kUninitialized), | 64 interceptor_state_(InterceptorState::kUninitialized), |
| 65 property_details_(PropertyDetails::Empty()), | 65 property_details_(PropertyDetails::Empty()), |
| 66 isolate_(isolate), | 66 isolate_(isolate), |
| 67 name_(isolate_->factory()->InternalizeName(name)), | 67 name_(isolate_->factory()->InternalizeName(name)), |
| 68 receiver_(receiver), | 68 receiver_(receiver), |
| 69 initial_holder_(holder), | 69 initial_holder_(holder), |
| 70 // kMaxUInt32 isn't a valid index. | 70 // kMaxUInt32 isn't a valid index. |
| 71 index_(kMaxUInt32), | 71 index_(kMaxUInt32), |
| 72 number_(DescriptorArray::kNotFound) { | 72 number_(static_cast<uint32_t>(DescriptorArray::kNotFound)) { |
| 73 #ifdef DEBUG | 73 #ifdef DEBUG |
| 74 uint32_t index; // Assert that the name is not an array index. | 74 uint32_t index; // Assert that the name is not an array index. |
| 75 DCHECK(!name->AsArrayIndex(&index)); | 75 DCHECK(!name->AsArrayIndex(&index)); |
| 76 #endif // DEBUG | 76 #endif // DEBUG |
| 77 Start<false>(); | 77 Start<false>(); |
| 78 } | 78 } |
| 79 | 79 |
| 80 LookupIterator(Isolate* isolate, Handle<Object> receiver, uint32_t index, | 80 LookupIterator(Isolate* isolate, Handle<Object> receiver, uint32_t index, |
| 81 Configuration configuration = DEFAULT) | 81 Configuration configuration = DEFAULT) |
| 82 : LookupIterator(isolate, receiver, index, | 82 : LookupIterator(isolate, receiver, index, |
| 83 GetRoot(isolate, receiver, index), configuration) {} | 83 GetRoot(isolate, receiver, index), configuration) {} |
| 84 | 84 |
| 85 LookupIterator(Isolate* isolate, Handle<Object> receiver, uint32_t index, | 85 LookupIterator(Isolate* isolate, Handle<Object> receiver, uint32_t index, |
| 86 Handle<JSReceiver> holder, | 86 Handle<JSReceiver> holder, |
| 87 Configuration configuration = DEFAULT) | 87 Configuration configuration = DEFAULT) |
| 88 : configuration_(configuration), | 88 : configuration_(configuration), |
| 89 interceptor_state_(InterceptorState::kUninitialized), | 89 interceptor_state_(InterceptorState::kUninitialized), |
| 90 property_details_(PropertyDetails::Empty()), | 90 property_details_(PropertyDetails::Empty()), |
| 91 isolate_(isolate), | 91 isolate_(isolate), |
| 92 receiver_(receiver), | 92 receiver_(receiver), |
| 93 initial_holder_(holder), | 93 initial_holder_(holder), |
| 94 index_(index), | 94 index_(index), |
| 95 number_(DescriptorArray::kNotFound) { | 95 number_(static_cast<uint32_t>(DescriptorArray::kNotFound)) { |
| 96 // kMaxUInt32 isn't a valid index. | 96 // kMaxUInt32 isn't a valid index. |
| 97 DCHECK_NE(kMaxUInt32, index_); | 97 DCHECK_NE(kMaxUInt32, index_); |
| 98 Start<true>(); | 98 Start<true>(); |
| 99 } | 99 } |
| 100 | 100 |
| 101 static LookupIterator PropertyOrElement( | 101 static LookupIterator PropertyOrElement( |
| 102 Isolate* isolate, Handle<Object> receiver, Handle<Name> name, | 102 Isolate* isolate, Handle<Object> receiver, Handle<Name> name, |
| 103 Configuration configuration = DEFAULT) { | 103 Configuration configuration = DEFAULT) { |
| 104 uint32_t index; | 104 uint32_t index; |
| 105 if (name->AsArrayIndex(&index)) { | 105 if (name->AsArrayIndex(&index)) { |
| (...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 366 const Handle<JSReceiver> initial_holder_; | 366 const Handle<JSReceiver> initial_holder_; |
| 367 const uint32_t index_; | 367 const uint32_t index_; |
| 368 uint32_t number_; | 368 uint32_t number_; |
| 369 }; | 369 }; |
| 370 | 370 |
| 371 | 371 |
| 372 } // namespace internal | 372 } // namespace internal |
| 373 } // namespace v8 | 373 } // namespace v8 |
| 374 | 374 |
| 375 #endif // V8_LOOKUP_H_ | 375 #endif // V8_LOOKUP_H_ |
| OLD | NEW |