| Index: src/snapshot-source-sink.cc
|
| diff --git a/src/snapshot-source-sink.cc b/src/snapshot-source-sink.cc
|
| index 9935ff73963c7e157b40b33c3e4c2da6dbe5b380..b2613b325ece423c9b5ed008c968bade8e747730 100644
|
| --- a/src/snapshot-source-sink.cc
|
| +++ b/src/snapshot-source-sink.cc
|
| @@ -13,15 +13,6 @@
|
| namespace v8 {
|
| namespace internal {
|
|
|
| -
|
| -SnapshotByteSource::SnapshotByteSource(const byte* array, int length)
|
| - : data_(array), length_(length), position_(0) {
|
| -}
|
| -
|
| -
|
| -SnapshotByteSource::~SnapshotByteSource() { }
|
| -
|
| -
|
| int32_t SnapshotByteSource::GetUnalignedInt() {
|
| DCHECK(position_ < length_); // Require at least one byte left.
|
| int32_t answer = data_[position_];
|
| @@ -52,15 +43,17 @@ void SnapshotByteSink::PutInt(uintptr_t integer, const char* description) {
|
| if (bytes > 3) Put(static_cast<int>((integer >> 24) & 0xff), "IntPart4");
|
| }
|
|
|
| -void SnapshotByteSink::PutRaw(byte* data, int number_of_bytes,
|
| +
|
| +void SnapshotByteSink::PutRaw(const byte* data, int number_of_bytes,
|
| const char* description) {
|
| - data_.AddAll(Vector<byte>(data, number_of_bytes));
|
| + data_.AddAll(Vector<byte>(const_cast<byte*>(data), number_of_bytes));
|
| }
|
|
|
| -void SnapshotByteSink::PutBlob(byte* data, int number_of_bytes,
|
| +
|
| +void SnapshotByteSink::PutBlob(Vector<const byte> blob,
|
| const char* description) {
|
| - PutInt(number_of_bytes, description);
|
| - PutRaw(data, number_of_bytes, description);
|
| + PutInt(blob.length(), description);
|
| + PutRaw(blob.start(), blob.length(), description);
|
| }
|
|
|
|
|
| @@ -77,7 +70,7 @@ bool SnapshotByteSource::GetBlob(const byte** data, int* number_of_bytes) {
|
| int size = GetInt();
|
| *number_of_bytes = size;
|
|
|
| - if (position_ + size < length_) {
|
| + if (position_ + size <= length_) {
|
| *data = &data_[position_];
|
| Advance(size);
|
| return true;
|
|
|