1919namespace v8 {
2020namespace internal {
2121
22- #include " torque-generated/src/objects/free-space-tq-inl.inc"
23-
24- TQ_OBJECT_CONSTRUCTORS_IMPL (FreeSpace)
25-
26- RELAXED_SMI_ACCESSORS (FreeSpace, size, kSizeOffset )
22+ int FreeSpace::size (RelaxedLoadTag) const {
23+ return size_.Relaxed_Load ().value ();
24+ }
2725
2826// static
2927inline void FreeSpace::SetSize (const WritableFreeSpace& writable_free_space,
3028 int size, RelaxedStoreTag tag) {
31- writable_free_space.WriteHeaderSlot <Smi, kSizeOffset >( Smi::FromInt (size),
32- tag);
29+ writable_free_space.WriteHeaderSlot <Smi, offsetof (FreeSpace, size_)>(
30+ Smi::FromInt (size), tag);
3331}
3432
3533int FreeSpace::Size () { return size (kRelaxedLoad ); }
3634
3735Tagged<FreeSpace> FreeSpace::next () const {
3836 DCHECK (IsValid ());
3937#ifdef V8_EXTERNAL_CODE_SPACE
40- intptr_t diff_to_next =
41- static_cast <intptr_t >(TaggedField<Smi, kNextOffset >::load (*this ).value ());
38+ intptr_t diff_to_next{next_.Relaxed_Load ().value ()};
4239 if (diff_to_next == 0 ) {
43- return FreeSpace () ;
40+ return {} ;
4441 }
4542 Address next_ptr = ptr () + diff_to_next * kObjectAlignment ;
4643 return UncheckedCast<FreeSpace>(Tagged<Object>(next_ptr));
4744#else
48- return UncheckedCast<FreeSpace>(
49- TaggedField<Object, kNextOffset >::load (*this ));
45+ return next_.Relaxed_Load ();
5046#endif // V8_EXTERNAL_CODE_SPACE
5147}
5248
@@ -56,20 +52,21 @@ void FreeSpace::SetNext(const WritableFreeSpace& writable_free_space,
5652
5753#ifdef V8_EXTERNAL_CODE_SPACE
5854 if (next.is_null ()) {
59- writable_free_space.WriteHeaderSlot <Smi, kNextOffset >( Smi::zero (),
60- kRelaxedStore );
55+ writable_free_space.WriteHeaderSlot <Smi, offsetof (FreeSpace, next_)>(
56+ Smi::zero (), kRelaxedStore );
6157 return ;
6258 }
6359 intptr_t diff_to_next = next.ptr () - ptr ();
6460 DCHECK (IsAligned (diff_to_next, kObjectAlignment ));
65- writable_free_space.WriteHeaderSlot <Smi, kNextOffset >(
61+ writable_free_space.WriteHeaderSlot <Smi, offsetof (FreeSpace, next_) >(
6662 Smi::FromIntptr (diff_to_next / kObjectAlignment ), kRelaxedStore );
6763#else
68- writable_free_space.WriteHeaderSlot <Object, kNextOffset >(next, kRelaxedStore );
64+ writable_free_space.WriteHeaderSlot <Object, offsetof (FreeSpace, next_)>(
65+ next, kRelaxedStore );
6966#endif // V8_EXTERNAL_CODE_SPACE
7067}
7168
72- bool FreeSpace::IsValid () const { return Heap::IsFreeSpaceValid (* this ); }
69+ bool FreeSpace::IsValid () const { return Heap::IsFreeSpaceValid (this ); }
7370
7471} // namespace internal
7572} // namespace v8
0 commit comments