OLD | NEW |
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 | 9 |
10 #include "src/assert-scope.h" | 10 #include "src/assert-scope.h" |
(...skipping 5606 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5617 0, kDescriptorIndexBitCount> {}; // NOLINT | 5617 0, kDescriptorIndexBitCount> {}; // NOLINT |
5618 class NumberOfOwnDescriptorsBits: public BitField<int, | 5618 class NumberOfOwnDescriptorsBits: public BitField<int, |
5619 kDescriptorIndexBitCount, kDescriptorIndexBitCount> {}; // NOLINT | 5619 kDescriptorIndexBitCount, kDescriptorIndexBitCount> {}; // NOLINT |
5620 STATIC_ASSERT(kDescriptorIndexBitCount + kDescriptorIndexBitCount == 20); | 5620 STATIC_ASSERT(kDescriptorIndexBitCount + kDescriptorIndexBitCount == 20); |
5621 class DictionaryMap : public BitField<bool, 20, 1> {}; | 5621 class DictionaryMap : public BitField<bool, 20, 1> {}; |
5622 class OwnsDescriptors : public BitField<bool, 21, 1> {}; | 5622 class OwnsDescriptors : public BitField<bool, 21, 1> {}; |
5623 class HasHiddenPrototype : public BitField<bool, 22, 1> {}; | 5623 class HasHiddenPrototype : public BitField<bool, 22, 1> {}; |
5624 class Deprecated : public BitField<bool, 23, 1> {}; | 5624 class Deprecated : public BitField<bool, 23, 1> {}; |
5625 class IsUnstable : public BitField<bool, 24, 1> {}; | 5625 class IsUnstable : public BitField<bool, 24, 1> {}; |
5626 class IsMigrationTarget : public BitField<bool, 25, 1> {}; | 5626 class IsMigrationTarget : public BitField<bool, 25, 1> {}; |
5627 class IsStrong : public BitField<bool, 26, 1> {}; | 5627 // Bit 26 is free. |
5628 class NewTargetIsBase : public BitField<bool, 27, 1> {}; | 5628 class NewTargetIsBase : public BitField<bool, 27, 1> {}; |
5629 // Bit 28 is free. | 5629 // Bit 28 is free. |
5630 | 5630 |
5631 // Keep this bit field at the very end for better code in | 5631 // Keep this bit field at the very end for better code in |
5632 // Builtins::kJSConstructStubGeneric stub. | 5632 // Builtins::kJSConstructStubGeneric stub. |
5633 // This counter is used for in-object slack tracking. | 5633 // This counter is used for in-object slack tracking. |
5634 // The in-object slack tracking is considered enabled when the counter is | 5634 // The in-object slack tracking is considered enabled when the counter is |
5635 // non zero. The counter only has a valid count for initial maps. For | 5635 // non zero. The counter only has a valid count for initial maps. For |
5636 // transitioned maps only kNoSlackTracking has a meaning, namely that inobject | 5636 // transitioned maps only kNoSlackTracking has a meaning, namely that inobject |
5637 // slack tracking already finished for the transition tree. Any other value | 5637 // slack tracking already finished for the transition tree. Any other value |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5726 | 5726 |
5727 // Tells whether the instance has a call-as-function handler. | 5727 // Tells whether the instance has a call-as-function handler. |
5728 inline void set_is_observed(); | 5728 inline void set_is_observed(); |
5729 inline bool is_observed(); | 5729 inline bool is_observed(); |
5730 | 5730 |
5731 // Tells whether the instance has a [[Call]] internal method. | 5731 // Tells whether the instance has a [[Call]] internal method. |
5732 // This property is implemented according to ES6, section 7.2.3. | 5732 // This property is implemented according to ES6, section 7.2.3. |
5733 inline void set_is_callable(); | 5733 inline void set_is_callable(); |
5734 inline bool is_callable() const; | 5734 inline bool is_callable() const; |
5735 | 5735 |
5736 inline void set_is_strong(); | |
5737 inline bool is_strong(); | |
5738 inline void set_new_target_is_base(bool value); | 5736 inline void set_new_target_is_base(bool value); |
5739 inline bool new_target_is_base(); | 5737 inline bool new_target_is_base(); |
5740 inline void set_is_extensible(bool value); | 5738 inline void set_is_extensible(bool value); |
5741 inline bool is_extensible(); | 5739 inline bool is_extensible(); |
5742 inline void set_is_prototype_map(bool value); | 5740 inline void set_is_prototype_map(bool value); |
5743 inline bool is_prototype_map() const; | 5741 inline bool is_prototype_map() const; |
5744 | 5742 |
5745 inline void set_elements_kind(ElementsKind elements_kind); | 5743 inline void set_elements_kind(ElementsKind elements_kind); |
5746 inline ElementsKind elements_kind(); | 5744 inline ElementsKind elements_kind(); |
5747 | 5745 |
(...skipping 5130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10878 } | 10876 } |
10879 return value; | 10877 return value; |
10880 } | 10878 } |
10881 }; | 10879 }; |
10882 | 10880 |
10883 | 10881 |
10884 } // NOLINT, false-positive due to second-order macros. | 10882 } // NOLINT, false-positive due to second-order macros. |
10885 } // NOLINT, false-positive due to second-order macros. | 10883 } // NOLINT, false-positive due to second-order macros. |
10886 | 10884 |
10887 #endif // V8_OBJECTS_H_ | 10885 #endif // V8_OBJECTS_H_ |
OLD | NEW |