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

Side by Side Diff: src/objects.h

Issue 988653003: Use platform specific stubs for vector-based Load/KeyedLoad. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: slot_count = FLAG_vector_ics ? 2 : 1. 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 8764 matching lines...) Expand 10 before | Expand all | Expand 10 after
8775 static inline bool IsHashFieldComputed(uint32_t field); 8775 static inline bool IsHashFieldComputed(uint32_t field);
8776 8776
8777 private: 8777 private:
8778 DISALLOW_IMPLICIT_CONSTRUCTORS(Name); 8778 DISALLOW_IMPLICIT_CONSTRUCTORS(Name);
8779 }; 8779 };
8780 8780
8781 8781
8782 // ES6 symbols. 8782 // ES6 symbols.
8783 class Symbol: public Name { 8783 class Symbol: public Name {
8784 public: 8784 public:
8785 // [name]: the print name of a symbol, or undefined if none. 8785 DECL_ACCESSORS(flags, Smi)
8786
8787 // [name]: the print name of a symbol, or undefined if none
8786 DECL_ACCESSORS(name, Object) 8788 DECL_ACCESSORS(name, Object)
8787 8789
8788 DECL_ACCESSORS(flags, Smi)
8789
8790 // [is_private]: whether this is a private symbol. 8790 // [is_private]: whether this is a private symbol.
8791 DECL_BOOLEAN_ACCESSORS(is_private) 8791 DECL_BOOLEAN_ACCESSORS(is_private)
8792 8792
8793 // [is_own]: whether this is an own symbol, that is, only used to designate 8793 // [is_own]: whether this is an own symbol, that is, only used to designate
8794 // own properties of objects. 8794 // own properties of objects.
8795 DECL_BOOLEAN_ACCESSORS(is_own) 8795 DECL_BOOLEAN_ACCESSORS(is_own)
8796 8796
8797 DECLARE_CAST(Symbol) 8797 DECLARE_CAST(Symbol)
8798 8798
8799 // Dispatched behavior. 8799 // Dispatched behavior.
8800 DECLARE_PRINTER(Symbol) 8800 DECLARE_PRINTER(Symbol)
8801 DECLARE_VERIFIER(Symbol) 8801 DECLARE_VERIFIER(Symbol)
8802 8802
8803 // Layout description. 8803 // Layout description.
8804 static const int kNameOffset = Name::kSize; 8804 static const int kFlagsOffset = Name::kSize;
Toon Verwaest 2015/03/11 17:55:02 Is this still necessary? [At this point haven't lo
mvstanton 2015/03/12 17:05:34 Yes, I still want to do something in here but I'll
8805 static const int kFlagsOffset = kNameOffset + kPointerSize; 8805 static const int kNameOffset = kFlagsOffset + kPointerSize;
8806 static const int kSize = kFlagsOffset + kPointerSize; 8806 static const int kSize = kNameOffset + kPointerSize;
8807 8807
8808 typedef FixedBodyDescriptor<kNameOffset, kFlagsOffset, kSize> BodyDescriptor; 8808 typedef FixedBodyDescriptor<kFlagsOffset, kNameOffset + kPointerSize, kSize>
8809 BodyDescriptor;
8809 8810
8810 void SymbolShortPrint(std::ostream& os); 8811 void SymbolShortPrint(std::ostream& os);
8811 8812
8812 private: 8813 private:
8813 static const int kPrivateBit = 0; 8814 static const int kPrivateBit = 0;
8814 static const int kOwnBit = 1; 8815 static const int kOwnBit = 1;
8815 8816
8816 const char* PrivateSymbolToName() const; 8817 const char* PrivateSymbolToName() const;
8817 8818
8818 #if TRACE_MAPS 8819 #if TRACE_MAPS
(...skipping 2164 matching lines...) Expand 10 before | Expand all | Expand 10 after
10983 } else { 10984 } else {
10984 value &= ~(1 << bit_position); 10985 value &= ~(1 << bit_position);
10985 } 10986 }
10986 return value; 10987 return value;
10987 } 10988 }
10988 }; 10989 };
10989 10990
10990 } } // namespace v8::internal 10991 } } // namespace v8::internal
10991 10992
10992 #endif // V8_OBJECTS_H_ 10993 #endif // V8_OBJECTS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698