#ifndef V8_OBJECTS_CELL_H_
#define V8_OBJECTS_CELL_H_
#include "src/objects/heap-object.h"
#include "src/objects/object-macros.h"
namespace v8 {
namespace internal {
#include "torque-generated/src/objects/cell-tq.inc"
class Cell : public TorqueGeneratedCell<Cell, HeapObject> {
public:
static constexpr int kValueOffset = TorqueGeneratedClass::kMaybeValueOffset;
inline Address ValueAddress() { return address() + kValueOffset; }
using TorqueGeneratedCell::maybe_value;
DECL_RELAXED_GETTER(maybe_value, Tagged<MaybeObject>)
DECL_ACCESSORS(value, Tagged<Object>)
DECL_RELAXED_GETTER(value, Tagged<Object>)
using BodyDescriptor =
FixedWeakBodyDescriptor<kMaybeValueOffset, kSize, kSize>;
TQ_OBJECT_CONSTRUCTORS(Cell)
};
}
}
#include "src/objects/object-macros-undef.h"
#endif