5#ifndef V8_SNAPSHOT_SNAPSHOT_SOURCE_SINK_H_
6#define V8_SNAPSHOT_SNAPSHOT_SOURCE_SINK_H_
28 :
data_(reinterpret_cast<const uint8_t*>(data)),
53 void CopyRaw(
void* to,
int number_of_bytes) {
70#ifdef V8_COMPRESS_POINTERS
93 int bytes = (answer & 3) + 1;
95 uint32_t
mask = 0xffffffffu;
96 mask >>= 32 - (bytes << 3);
104 CopyRaw(
reinterpret_cast<uint8_t*
>(&integer),
sizeof(integer));
109 int GetBlob(
const uint8_t** data);
135 void Put(uint8_t b,
const char* description) {
data_.push_back(b); }
137 void PutN(
int number_of_bytes,
const uint8_t v,
const char* description);
139 void PutUint30(uint32_t integer,
const char* description);
140 void PutUint32(uint32_t integer,
const char* description) {
141 PutRaw(
reinterpret_cast<uint8_t*
>(&integer),
sizeof(integer), description);
143 void PutRaw(
const uint8_t* data,
int number_of_bytes,
144 const char* description);
149 const std::vector<uint8_t>*
data()
const {
return &
data_; }
void PutN(int number_of_bytes, const uint8_t v, const char *description)
void PutUint32(uint32_t integer, const char *description)
SnapshotByteSink(int initial_size)
SnapshotByteSink()=default
~SnapshotByteSink()=default
void Append(const SnapshotByteSink &other)
void PutUint30(uint32_t integer, const char *description)
void PutRaw(const uint8_t *data, int number_of_bytes, const char *description)
void Put(uint8_t b, const char *description)
const std::vector< uint8_t > * data() const
std::vector< uint8_t > data_
void CopySlots(Address *dest, int number_of_slots)
int GetBlob(const uint8_t **data)
SnapshotByteSource(const SnapshotByteSource &)=delete
SnapshotByteSource & operator=(const SnapshotByteSource &)=delete
SnapshotByteSource(const char *data, int length)
SnapshotByteSource(base::Vector< const uint8_t > payload)
~SnapshotByteSource()=default
const uint8_t * data() const
void CopyRaw(void *to, int number_of_bytes)
void set_position(int position)
void Relaxed_Store(volatile Atomic8 *ptr, Atomic8 value)
base::AtomicWord AtomicTagged_t
#define DCHECK_LE(v1, v2)
#define DCHECK(condition)
#define DCHECK_LT(v1, v2)