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

Side by Side Diff: src/objects.h

Issue 2551763003: v8::Private::ForApi should be context-independent. (Closed)
Patch Set: Created 4 years 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 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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 #include <memory> 9 #include <memory>
10 10
(...skipping 9638 matching lines...) Expand 10 before | Expand all | Expand 10 after
9649 9649
9650 // [is_private]: Whether this is a private symbol. Private symbols can only 9650 // [is_private]: Whether this is a private symbol. Private symbols can only
9651 // be used to designate own properties of objects. 9651 // be used to designate own properties of objects.
9652 DECL_BOOLEAN_ACCESSORS(is_private) 9652 DECL_BOOLEAN_ACCESSORS(is_private)
9653 9653
9654 // [is_well_known_symbol]: Whether this is a spec-defined well-known symbol, 9654 // [is_well_known_symbol]: Whether this is a spec-defined well-known symbol,
9655 // or not. Well-known symbols do not throw when an access check fails during 9655 // or not. Well-known symbols do not throw when an access check fails during
9656 // a load. 9656 // a load.
9657 DECL_BOOLEAN_ACCESSORS(is_well_known_symbol) 9657 DECL_BOOLEAN_ACCESSORS(is_well_known_symbol)
9658 9658
9659 // [is_public]: Whether this is a symbol created by Symbol.for. Calling
9660 // Symbol.keyFor on such a symbol simply needs to return the attached name.
9661 DECL_BOOLEAN_ACCESSORS(is_public)
9662
9659 DECLARE_CAST(Symbol) 9663 DECLARE_CAST(Symbol)
9660 9664
9661 // Dispatched behavior. 9665 // Dispatched behavior.
9662 DECLARE_PRINTER(Symbol) 9666 DECLARE_PRINTER(Symbol)
9663 DECLARE_VERIFIER(Symbol) 9667 DECLARE_VERIFIER(Symbol)
9664 9668
9665 // Layout description. 9669 // Layout description.
9666 static const int kNameOffset = Name::kSize; 9670 static const int kNameOffset = Name::kSize;
9667 static const int kFlagsOffset = kNameOffset + kPointerSize; 9671 static const int kFlagsOffset = kNameOffset + kPointerSize;
9668 static const int kSize = kFlagsOffset + kPointerSize; 9672 static const int kSize = kFlagsOffset + kPointerSize;
9669 9673
9670 // Flags layout. 9674 // Flags layout.
9671 static const int kPrivateBit = 0; 9675 static const int kPrivateBit = 0;
9672 static const int kWellKnownSymbolBit = 1; 9676 static const int kWellKnownSymbolBit = 1;
9677 static const int kIsPublicBit = 2;
peria 2016/12/06 05:12:36 inconsistent with "kPrivateBit"
Yang 2016/12/06 12:53:07 Done.
9673 9678
9674 typedef FixedBodyDescriptor<kNameOffset, kFlagsOffset, kSize> BodyDescriptor; 9679 typedef FixedBodyDescriptor<kNameOffset, kFlagsOffset, kSize> BodyDescriptor;
9675 9680
9676 void SymbolShortPrint(std::ostream& os); 9681 void SymbolShortPrint(std::ostream& os);
9677 9682
9678 private: 9683 private:
9679 const char* PrivateSymbolToName() const; 9684 const char* PrivateSymbolToName() const;
9680 9685
9681 #if TRACE_MAPS 9686 #if TRACE_MAPS
9682 friend class Name; // For PrivateSymbolToName. 9687 friend class Name; // For PrivateSymbolToName.
(...skipping 2276 matching lines...) Expand 10 before | Expand all | Expand 10 after
11959 } 11964 }
11960 return value; 11965 return value;
11961 } 11966 }
11962 }; 11967 };
11963 11968
11964 11969
11965 } // NOLINT, false-positive due to second-order macros. 11970 } // NOLINT, false-positive due to second-order macros.
11966 } // NOLINT, false-positive due to second-order macros. 11971 } // NOLINT, false-positive due to second-order macros.
11967 11972
11968 #endif // V8_OBJECTS_H_ 11973 #endif // V8_OBJECTS_H_
OLDNEW
« src/heap/heap.h ('K') | « src/js/symbol.js ('k') | src/objects-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698