OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/assert-scope.h" | 9 #include "src/assert-scope.h" |
10 #include "src/builtins.h" | 10 #include "src/builtins.h" |
(...skipping 10826 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10837 | 10837 |
10838 | 10838 |
10839 class InterceptorInfo: public Struct { | 10839 class InterceptorInfo: public Struct { |
10840 public: | 10840 public: |
10841 DECL_ACCESSORS(getter, Object) | 10841 DECL_ACCESSORS(getter, Object) |
10842 DECL_ACCESSORS(setter, Object) | 10842 DECL_ACCESSORS(setter, Object) |
10843 DECL_ACCESSORS(query, Object) | 10843 DECL_ACCESSORS(query, Object) |
10844 DECL_ACCESSORS(deleter, Object) | 10844 DECL_ACCESSORS(deleter, Object) |
10845 DECL_ACCESSORS(enumerator, Object) | 10845 DECL_ACCESSORS(enumerator, Object) |
10846 DECL_ACCESSORS(data, Object) | 10846 DECL_ACCESSORS(data, Object) |
| 10847 DECL_BOOLEAN_ACCESSORS(can_intercept_symbols) |
| 10848 |
| 10849 // TODO(wingo): Remove flags field once all interceptors can intercept |
| 10850 // symbols. |
| 10851 inline int flags() const; |
| 10852 inline void set_flags(int flags); |
10847 | 10853 |
10848 DECLARE_CAST(InterceptorInfo) | 10854 DECLARE_CAST(InterceptorInfo) |
10849 | 10855 |
10850 // Dispatched behavior. | 10856 // Dispatched behavior. |
10851 DECLARE_PRINTER(InterceptorInfo) | 10857 DECLARE_PRINTER(InterceptorInfo) |
10852 DECLARE_VERIFIER(InterceptorInfo) | 10858 DECLARE_VERIFIER(InterceptorInfo) |
10853 | 10859 |
10854 static const int kGetterOffset = HeapObject::kHeaderSize; | 10860 static const int kGetterOffset = HeapObject::kHeaderSize; |
10855 static const int kSetterOffset = kGetterOffset + kPointerSize; | 10861 static const int kSetterOffset = kGetterOffset + kPointerSize; |
10856 static const int kQueryOffset = kSetterOffset + kPointerSize; | 10862 static const int kQueryOffset = kSetterOffset + kPointerSize; |
10857 static const int kDeleterOffset = kQueryOffset + kPointerSize; | 10863 static const int kDeleterOffset = kQueryOffset + kPointerSize; |
10858 static const int kEnumeratorOffset = kDeleterOffset + kPointerSize; | 10864 static const int kEnumeratorOffset = kDeleterOffset + kPointerSize; |
10859 static const int kDataOffset = kEnumeratorOffset + kPointerSize; | 10865 static const int kDataOffset = kEnumeratorOffset + kPointerSize; |
10860 static const int kSize = kDataOffset + kPointerSize; | 10866 static const int kFlagsOffset = kDataOffset + kPointerSize; |
| 10867 static const int kSize = kFlagsOffset + kPointerSize; |
| 10868 |
| 10869 static const int kCanInterceptSymbolsBit = 0; |
10861 | 10870 |
10862 private: | 10871 private: |
10863 DISALLOW_IMPLICIT_CONSTRUCTORS(InterceptorInfo); | 10872 DISALLOW_IMPLICIT_CONSTRUCTORS(InterceptorInfo); |
10864 }; | 10873 }; |
10865 | 10874 |
10866 | 10875 |
10867 class CallHandlerInfo: public Struct { | 10876 class CallHandlerInfo: public Struct { |
10868 public: | 10877 public: |
10869 DECL_ACCESSORS(callback, Object) | 10878 DECL_ACCESSORS(callback, Object) |
10870 DECL_ACCESSORS(data, Object) | 10879 DECL_ACCESSORS(data, Object) |
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11265 } else { | 11274 } else { |
11266 value &= ~(1 << bit_position); | 11275 value &= ~(1 << bit_position); |
11267 } | 11276 } |
11268 return value; | 11277 return value; |
11269 } | 11278 } |
11270 }; | 11279 }; |
11271 | 11280 |
11272 } } // namespace v8::internal | 11281 } } // namespace v8::internal |
11273 | 11282 |
11274 #endif // V8_OBJECTS_H_ | 11283 #endif // V8_OBJECTS_H_ |
OLD | NEW |