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 2639 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2650 | 2650 |
2651 typedef FlexibleBodyDescriptor<kHeaderSize> BodyDescriptor; | 2651 typedef FlexibleBodyDescriptor<kHeaderSize> BodyDescriptor; |
2652 | 2652 |
2653 protected: | 2653 protected: |
2654 // Set operation on FixedArray without using write barriers. Can | 2654 // Set operation on FixedArray without using write barriers. Can |
2655 // only be used for storing old space objects or smis. | 2655 // only be used for storing old space objects or smis. |
2656 static inline void NoWriteBarrierSet(FixedArray* array, | 2656 static inline void NoWriteBarrierSet(FixedArray* array, |
2657 int index, | 2657 int index, |
2658 Object* value); | 2658 Object* value); |
2659 | 2659 |
2660 // Set operation on FixedArray without incremental write barrier. Can | |
2661 // only be used if the object is guaranteed to be white (whiteness witness | |
2662 // is present). | |
2663 static inline void NoIncrementalWriteBarrierSet(FixedArray* array, | |
2664 int index, | |
2665 Object* value); | |
2666 | |
2667 private: | 2660 private: |
2668 STATIC_ASSERT(kHeaderSize == Internals::kFixedArrayHeaderSize); | 2661 STATIC_ASSERT(kHeaderSize == Internals::kFixedArrayHeaderSize); |
2669 | 2662 |
2670 DISALLOW_IMPLICIT_CONSTRUCTORS(FixedArray); | 2663 DISALLOW_IMPLICIT_CONSTRUCTORS(FixedArray); |
2671 }; | 2664 }; |
2672 | 2665 |
2673 | 2666 |
2674 // FixedDoubleArray describes fixed-sized arrays with element type double. | 2667 // FixedDoubleArray describes fixed-sized arrays with element type double. |
2675 class FixedDoubleArray: public FixedArrayBase { | 2668 class FixedDoubleArray: public FixedArrayBase { |
2676 public: | 2669 public: |
(...skipping 8049 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10726 } | 10719 } |
10727 return value; | 10720 return value; |
10728 } | 10721 } |
10729 }; | 10722 }; |
10730 | 10723 |
10731 | 10724 |
10732 } // NOLINT, false-positive due to second-order macros. | 10725 } // NOLINT, false-positive due to second-order macros. |
10733 } // NOLINT, false-positive due to second-order macros. | 10726 } // NOLINT, false-positive due to second-order macros. |
10734 | 10727 |
10735 #endif // V8_OBJECTS_H_ | 10728 #endif // V8_OBJECTS_H_ |
OLD | NEW |