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 30 matching lines...) Expand all Loading... |
41 // Set state_ to BEFORE_PROPERTY to ensure that the next lookup will be a | 41 // Set state_ to BEFORE_PROPERTY to ensure that the next lookup will be a |
42 // PROPERTY lookup. | 42 // PROPERTY lookup. |
43 BEFORE_PROPERTY = INTERCEPTOR | 43 BEFORE_PROPERTY = INTERCEPTOR |
44 }; | 44 }; |
45 | 45 |
46 LookupIterator(Handle<Object> receiver, Handle<Name> name, | 46 LookupIterator(Handle<Object> receiver, Handle<Name> name, |
47 Configuration configuration = PROTOTYPE_CHAIN) | 47 Configuration configuration = PROTOTYPE_CHAIN) |
48 : configuration_(ComputeConfiguration(configuration, name)), | 48 : configuration_(ComputeConfiguration(configuration, name)), |
49 state_(NOT_FOUND), | 49 state_(NOT_FOUND), |
50 exotic_index_state_(ExoticIndexState::kUninitialized), | 50 exotic_index_state_(ExoticIndexState::kUninitialized), |
51 property_details_(NONE, v8::internal::DATA, 0), | 51 property_details_(NONE, v8::internal::DATA, 0, |
| 52 PropertyCellType::kInvalid), |
52 isolate_(name->GetIsolate()), | 53 isolate_(name->GetIsolate()), |
53 name_(name), | 54 name_(name), |
54 receiver_(receiver), | 55 receiver_(receiver), |
55 number_(DescriptorArray::kNotFound) { | 56 number_(DescriptorArray::kNotFound) { |
56 holder_ = GetRoot(); | 57 holder_ = GetRoot(); |
57 holder_map_ = handle(holder_->map(), isolate_); | 58 holder_map_ = handle(holder_->map(), isolate_); |
58 Next(); | 59 Next(); |
59 } | 60 } |
60 | 61 |
61 LookupIterator(Handle<Object> receiver, Handle<Name> name, | 62 LookupIterator(Handle<Object> receiver, Handle<Name> name, |
62 Handle<JSReceiver> holder, | 63 Handle<JSReceiver> holder, |
63 Configuration configuration = PROTOTYPE_CHAIN) | 64 Configuration configuration = PROTOTYPE_CHAIN) |
64 : configuration_(ComputeConfiguration(configuration, name)), | 65 : configuration_(ComputeConfiguration(configuration, name)), |
65 state_(NOT_FOUND), | 66 state_(NOT_FOUND), |
66 exotic_index_state_(ExoticIndexState::kUninitialized), | 67 exotic_index_state_(ExoticIndexState::kUninitialized), |
67 property_details_(NONE, v8::internal::DATA, 0), | 68 property_details_(NONE, v8::internal::DATA, 0, |
| 69 PropertyCellType::kInvalid), |
68 isolate_(name->GetIsolate()), | 70 isolate_(name->GetIsolate()), |
69 name_(name), | 71 name_(name), |
70 holder_map_(holder->map(), isolate_), | 72 holder_map_(holder->map(), isolate_), |
71 receiver_(receiver), | 73 receiver_(receiver), |
72 holder_(holder), | 74 holder_(holder), |
73 number_(DescriptorArray::kNotFound) { | 75 number_(DescriptorArray::kNotFound) { |
74 Next(); | 76 Next(); |
75 } | 77 } |
76 | 78 |
77 Isolate* isolate() const { return isolate_; } | 79 Isolate* isolate() const { return isolate_; } |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
200 Handle<Object> receiver_; | 202 Handle<Object> receiver_; |
201 Handle<JSReceiver> holder_; | 203 Handle<JSReceiver> holder_; |
202 | 204 |
203 int number_; | 205 int number_; |
204 }; | 206 }; |
205 | 207 |
206 | 208 |
207 } } // namespace v8::internal | 209 } } // namespace v8::internal |
208 | 210 |
209 #endif // V8_LOOKUP_H_ | 211 #endif // V8_LOOKUP_H_ |
OLD | NEW |