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 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 3371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3382 // They look like heap objects (are heap object tagged and have a map) so that | 3382 // They look like heap objects (are heap object tagged and have a map) so that |
3383 // the heap remains iterable. They have a size and a next pointer. | 3383 // the heap remains iterable. They have a size and a next pointer. |
3384 // The next pointer is the raw address of the next FreeSpace object (or NULL) | 3384 // The next pointer is the raw address of the next FreeSpace object (or NULL) |
3385 // in the free list. | 3385 // in the free list. |
3386 class FreeSpace: public HeapObject { | 3386 class FreeSpace: public HeapObject { |
3387 public: | 3387 public: |
3388 // [size]: size of the free space including the header. | 3388 // [size]: size of the free space including the header. |
3389 inline int size() const; | 3389 inline int size() const; |
3390 inline void set_size(int value); | 3390 inline void set_size(int value); |
3391 | 3391 |
3392 inline int nobarrier_size() const; | 3392 inline int relaxed_read_size() const; |
3393 inline void nobarrier_set_size(int value); | 3393 inline void relaxed_write_size(int value); |
3394 | 3394 |
3395 inline int Size(); | 3395 inline int Size(); |
3396 | 3396 |
3397 // Accessors for the next field. | 3397 // Accessors for the next field. |
3398 inline FreeSpace* next(); | 3398 inline FreeSpace* next(); |
3399 inline void set_next(FreeSpace* next); | 3399 inline void set_next(FreeSpace* next); |
3400 | 3400 |
3401 inline static FreeSpace* cast(HeapObject* obj); | 3401 inline static FreeSpace* cast(HeapObject* obj); |
3402 | 3402 |
3403 // Dispatched behavior. | 3403 // Dispatched behavior. |
(...skipping 5944 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9348 } | 9348 } |
9349 }; | 9349 }; |
9350 | 9350 |
9351 | 9351 |
9352 } // NOLINT, false-positive due to second-order macros. | 9352 } // NOLINT, false-positive due to second-order macros. |
9353 } // NOLINT, false-positive due to second-order macros. | 9353 } // NOLINT, false-positive due to second-order macros. |
9354 | 9354 |
9355 #include "src/objects/object-macros-undef.h" | 9355 #include "src/objects/object-macros-undef.h" |
9356 | 9356 |
9357 #endif // V8_OBJECTS_H_ | 9357 #endif // V8_OBJECTS_H_ |
OLD | NEW |