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 5659 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5670 class IsFrozen : public BitField<bool, 24, 1> {}; | 5670 class IsFrozen : public BitField<bool, 24, 1> {}; |
5671 class IsUnstable : public BitField<bool, 25, 1> {}; | 5671 class IsUnstable : public BitField<bool, 25, 1> {}; |
5672 class IsMigrationTarget : public BitField<bool, 26, 1> {}; | 5672 class IsMigrationTarget : public BitField<bool, 26, 1> {}; |
5673 // Bit 27 is free. | 5673 // Bit 27 is free. |
5674 | 5674 |
5675 // Keep this bit field at the very end for better code in | 5675 // Keep this bit field at the very end for better code in |
5676 // Builtins::kJSConstructStubGeneric stub. | 5676 // Builtins::kJSConstructStubGeneric stub. |
5677 // This counter is used for in-object slack tracking and for map aging. | 5677 // This counter is used for in-object slack tracking and for map aging. |
5678 // The in-object slack tracking is considered enabled when the counter is | 5678 // The in-object slack tracking is considered enabled when the counter is |
5679 // in the range [kSlackTrackingCounterStart, kSlackTrackingCounterEnd]. | 5679 // in the range [kSlackTrackingCounterStart, kSlackTrackingCounterEnd]. |
5680 class Counter : public BitField<bool, 28, 4> {}; | 5680 class Counter : public BitField<int, 28, 4> {}; |
5681 static const int kSlackTrackingCounterStart = 14; | 5681 static const int kSlackTrackingCounterStart = 14; |
5682 static const int kSlackTrackingCounterEnd = 8; | 5682 static const int kSlackTrackingCounterEnd = 8; |
5683 static const int kRetainingCounterStart = kSlackTrackingCounterEnd - 1; | 5683 static const int kRetainingCounterStart = kSlackTrackingCounterEnd - 1; |
5684 static const int kRetainingCounterEnd = 0; | 5684 static const int kRetainingCounterEnd = 0; |
5685 | 5685 |
5686 // Tells whether the object in the prototype property will be used | 5686 // Tells whether the object in the prototype property will be used |
5687 // for instances created from this function. If the prototype | 5687 // for instances created from this function. If the prototype |
5688 // property is set to a value that is not a JSObject, the prototype | 5688 // property is set to a value that is not a JSObject, the prototype |
5689 // property will not be used to create instances of the function. | 5689 // property will not be used to create instances of the function. |
5690 // See ECMA-262, 13.2.2. | 5690 // See ECMA-262, 13.2.2. |
(...skipping 5316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11007 } else { | 11007 } else { |
11008 value &= ~(1 << bit_position); | 11008 value &= ~(1 << bit_position); |
11009 } | 11009 } |
11010 return value; | 11010 return value; |
11011 } | 11011 } |
11012 }; | 11012 }; |
11013 | 11013 |
11014 } } // namespace v8::internal | 11014 } } // namespace v8::internal |
11015 | 11015 |
11016 #endif // V8_OBJECTS_H_ | 11016 #endif // V8_OBJECTS_H_ |
OLD | NEW |