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 <iosfwd> | 8 #include <iosfwd> |
9 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 8625 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8636 DECLARE_PRINTER(Symbol) | 8636 DECLARE_PRINTER(Symbol) |
8637 DECLARE_VERIFIER(Symbol) | 8637 DECLARE_VERIFIER(Symbol) |
8638 | 8638 |
8639 // Layout description. | 8639 // Layout description. |
8640 static const int kNameOffset = Name::kSize; | 8640 static const int kNameOffset = Name::kSize; |
8641 static const int kFlagsOffset = kNameOffset + kPointerSize; | 8641 static const int kFlagsOffset = kNameOffset + kPointerSize; |
8642 static const int kSize = kFlagsOffset + kPointerSize; | 8642 static const int kSize = kFlagsOffset + kPointerSize; |
8643 | 8643 |
8644 typedef FixedBodyDescriptor<kNameOffset, kFlagsOffset, kSize> BodyDescriptor; | 8644 typedef FixedBodyDescriptor<kNameOffset, kFlagsOffset, kSize> BodyDescriptor; |
8645 | 8645 |
| 8646 void SymbolShortPrint(std::ostream& os); |
| 8647 |
8646 private: | 8648 private: |
8647 static const int kPrivateBit = 0; | 8649 static const int kPrivateBit = 0; |
8648 static const int kOwnBit = 1; | 8650 static const int kOwnBit = 1; |
8649 | 8651 |
| 8652 const char* PrivateSymbolToName() const; |
| 8653 |
8650 DISALLOW_IMPLICIT_CONSTRUCTORS(Symbol); | 8654 DISALLOW_IMPLICIT_CONSTRUCTORS(Symbol); |
8651 }; | 8655 }; |
8652 | 8656 |
8653 | 8657 |
8654 class ConsString; | 8658 class ConsString; |
8655 | 8659 |
8656 // The String abstract class captures JavaScript string values: | 8660 // The String abstract class captures JavaScript string values: |
8657 // | 8661 // |
8658 // Ecma-262: | 8662 // Ecma-262: |
8659 // 4.3.16 String Value | 8663 // 4.3.16 String Value |
(...skipping 2250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10910 } else { | 10914 } else { |
10911 value &= ~(1 << bit_position); | 10915 value &= ~(1 << bit_position); |
10912 } | 10916 } |
10913 return value; | 10917 return value; |
10914 } | 10918 } |
10915 }; | 10919 }; |
10916 | 10920 |
10917 } } // namespace v8::internal | 10921 } } // namespace v8::internal |
10918 | 10922 |
10919 #endif // V8_OBJECTS_H_ | 10923 #endif // V8_OBJECTS_H_ |
OLD | NEW |