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" |
11 | 11 |
12 namespace v8 { | 12 namespace v8 { |
13 namespace internal { | 13 namespace internal { |
14 | 14 |
15 class LookupIterator V8_FINAL BASE_EMBEDDED { | 15 class LookupIterator V8_FINAL BASE_EMBEDDED { |
16 public: | 16 public: |
17 enum Configuration { | 17 enum Configuration { |
18 // Configuration bits. | 18 // Configuration bits. |
19 CHECK_HIDDEN_PROPERTY = 1 << 0, | 19 CHECK_HIDDEN_PROPERTY = 1 << 0, |
20 CHECK_DERIVED_PROPERTY = 1 << 1, | 20 CHECK_DERIVED_PROPERTY = 1 << 1, |
21 CHECK_INTERCEPTOR = 1 << 2, | 21 CHECK_INTERCEPTOR = 1 << 2, |
22 CHECK_ACCESS_CHECK = 1 << 3, | 22 CHECK_ACCESS_CHECK = 1 << 3, |
23 | 23 |
24 // Convience combinations of bits. | 24 // Convience combinations of bits. |
25 CHECK_PROPERTY = 0, | 25 CHECK_PROPERTY = 0, |
| 26 CHECK_OWN = CHECK_ACCESS_CHECK | CHECK_INTERCEPTOR, |
26 CHECK_HIDDEN_SKIP_INTERCEPTOR = CHECK_HIDDEN_PROPERTY | CHECK_ACCESS_CHECK, | 27 CHECK_HIDDEN_SKIP_INTERCEPTOR = CHECK_HIDDEN_PROPERTY | CHECK_ACCESS_CHECK, |
27 CHECK_DERIVED_SKIP_INTERCEPTOR = | 28 CHECK_DERIVED_SKIP_INTERCEPTOR = |
28 CHECK_HIDDEN_SKIP_INTERCEPTOR | CHECK_DERIVED_PROPERTY, | 29 CHECK_HIDDEN_SKIP_INTERCEPTOR | CHECK_DERIVED_PROPERTY, |
29 CHECK_DERIVED = CHECK_DERIVED_SKIP_INTERCEPTOR | CHECK_INTERCEPTOR, | 30 CHECK_DERIVED = CHECK_DERIVED_SKIP_INTERCEPTOR | CHECK_INTERCEPTOR, |
30 CHECK_HIDDEN = CHECK_HIDDEN_SKIP_INTERCEPTOR | CHECK_INTERCEPTOR | 31 CHECK_HIDDEN = CHECK_HIDDEN_SKIP_INTERCEPTOR | CHECK_INTERCEPTOR |
31 }; | 32 }; |
32 | 33 |
33 enum State { | 34 enum State { |
34 ACCESS_CHECK, | 35 ACCESS_CHECK, |
35 INTERCEPTOR, | 36 INTERCEPTOR, |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 MaybeHandle<Object> maybe_receiver_; | 230 MaybeHandle<Object> maybe_receiver_; |
230 MaybeHandle<JSReceiver> maybe_holder_; | 231 MaybeHandle<JSReceiver> maybe_holder_; |
231 | 232 |
232 int number_; | 233 int number_; |
233 }; | 234 }; |
234 | 235 |
235 | 236 |
236 } } // namespace v8::internal | 237 } } // namespace v8::internal |
237 | 238 |
238 #endif // V8_LOOKUP_H_ | 239 #endif // V8_LOOKUP_H_ |
OLD | NEW |