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 |