Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(812)

Side by Side Diff: src/objects.h

Issue 962613002: add interceptors which do not mask existing properties (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <iosfwd> 8 #include <iosfwd>
9 9
10 #include "src/allocation.h" 10 #include "src/allocation.h"
(...skipping 10551 matching lines...) Expand 10 before | Expand all | Expand 10 after
10562 class InterceptorInfo: public Struct { 10562 class InterceptorInfo: public Struct {
10563 public: 10563 public:
10564 DECL_ACCESSORS(getter, Object) 10564 DECL_ACCESSORS(getter, Object)
10565 DECL_ACCESSORS(setter, Object) 10565 DECL_ACCESSORS(setter, Object)
10566 DECL_ACCESSORS(query, Object) 10566 DECL_ACCESSORS(query, Object)
10567 DECL_ACCESSORS(deleter, Object) 10567 DECL_ACCESSORS(deleter, Object)
10568 DECL_ACCESSORS(enumerator, Object) 10568 DECL_ACCESSORS(enumerator, Object)
10569 DECL_ACCESSORS(data, Object) 10569 DECL_ACCESSORS(data, Object)
10570 DECL_BOOLEAN_ACCESSORS(can_intercept_symbols) 10570 DECL_BOOLEAN_ACCESSORS(can_intercept_symbols)
10571 DECL_BOOLEAN_ACCESSORS(all_can_read) 10571 DECL_BOOLEAN_ACCESSORS(all_can_read)
10572 DECL_BOOLEAN_ACCESSORS(non_masking)
10572 10573
10573 inline int flags() const; 10574 inline int flags() const;
10574 inline void set_flags(int flags); 10575 inline void set_flags(int flags);
10575 10576
10576 DECLARE_CAST(InterceptorInfo) 10577 DECLARE_CAST(InterceptorInfo)
10577 10578
10578 // Dispatched behavior. 10579 // Dispatched behavior.
10579 DECLARE_PRINTER(InterceptorInfo) 10580 DECLARE_PRINTER(InterceptorInfo)
10580 DECLARE_VERIFIER(InterceptorInfo) 10581 DECLARE_VERIFIER(InterceptorInfo)
10581 10582
10582 static const int kGetterOffset = HeapObject::kHeaderSize; 10583 static const int kGetterOffset = HeapObject::kHeaderSize;
10583 static const int kSetterOffset = kGetterOffset + kPointerSize; 10584 static const int kSetterOffset = kGetterOffset + kPointerSize;
10584 static const int kQueryOffset = kSetterOffset + kPointerSize; 10585 static const int kQueryOffset = kSetterOffset + kPointerSize;
10585 static const int kDeleterOffset = kQueryOffset + kPointerSize; 10586 static const int kDeleterOffset = kQueryOffset + kPointerSize;
10586 static const int kEnumeratorOffset = kDeleterOffset + kPointerSize; 10587 static const int kEnumeratorOffset = kDeleterOffset + kPointerSize;
10587 static const int kDataOffset = kEnumeratorOffset + kPointerSize; 10588 static const int kDataOffset = kEnumeratorOffset + kPointerSize;
10588 static const int kFlagsOffset = kDataOffset + kPointerSize; 10589 static const int kFlagsOffset = kDataOffset + kPointerSize;
10589 static const int kSize = kFlagsOffset + kPointerSize; 10590 static const int kSize = kFlagsOffset + kPointerSize;
10590 10591
10591 static const int kCanInterceptSymbolsBit = 0; 10592 static const int kCanInterceptSymbolsBit = 0;
10592 static const int kAllCanReadBit = 1; 10593 static const int kAllCanReadBit = 1;
10594 static const int kNonMasking = 2;
10593 10595
10594 private: 10596 private:
10595 DISALLOW_IMPLICIT_CONSTRUCTORS(InterceptorInfo); 10597 DISALLOW_IMPLICIT_CONSTRUCTORS(InterceptorInfo);
10596 }; 10598 };
10597 10599
10598 10600
10599 class CallHandlerInfo: public Struct { 10601 class CallHandlerInfo: public Struct {
10600 public: 10602 public:
10601 DECL_ACCESSORS(callback, Object) 10603 DECL_ACCESSORS(callback, Object)
10602 DECL_ACCESSORS(data, Object) 10604 DECL_ACCESSORS(data, Object)
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
10983 } else { 10985 } else {
10984 value &= ~(1 << bit_position); 10986 value &= ~(1 << bit_position);
10985 } 10987 }
10986 return value; 10988 return value;
10987 } 10989 }
10988 }; 10990 };
10989 10991
10990 } } // namespace v8::internal 10992 } } // namespace v8::internal
10991 10993
10992 #endif // V8_OBJECTS_H_ 10994 #endif // V8_OBJECTS_H_
OLDNEW
« src/lookup-inl.h ('K') | « src/lookup-inl.h ('k') | src/objects-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698