Index: src/d8.cc |
diff --git a/src/d8.cc b/src/d8.cc |
index 5e049fa39bb753099735d875cb610ffdaa1dd74a..0944b9e6efee9ead166652fd3c1329a1feca6b92 100644 |
--- a/src/d8.cc |
+++ b/src/d8.cc |
@@ -2077,16 +2077,15 @@ bool Shell::SerializeValue(Isolate* isolate, Local<Value> value, |
} else { |
ArrayBuffer::Contents contents = array_buffer->GetContents(); |
// Clone ArrayBuffer |
- if (contents.ByteLength() > i::kMaxUInt32) { |
+ if (contents.ByteLength() > i::kMaxInt) { |
Throw(isolate, "ArrayBuffer is too big to clone"); |
return false; |
} |
- int byte_length = static_cast<int>(contents.ByteLength()); |
+ int32_t byte_length = static_cast<int32_t>(contents.ByteLength()); |
out_data->WriteTag(kSerializationTagArrayBuffer); |
out_data->Write(byte_length); |
- out_data->WriteMemory(contents.Data(), |
- static_cast<int>(contents.ByteLength())); |
+ out_data->WriteMemory(contents.Data(), byte_length); |
} |
} else if (value->IsSharedArrayBuffer()) { |
Local<SharedArrayBuffer> sab = Local<SharedArrayBuffer>::Cast(value); |
@@ -2212,7 +2211,7 @@ MaybeLocal<Value> Shell::DeserializeValue(Isolate* isolate, |
break; |
} |
case kSerializationTagArrayBuffer: { |
- int byte_length = data.Read<int>(offset); |
+ int32_t byte_length = data.Read<int32_t>(offset); |
Local<ArrayBuffer> array_buffer = ArrayBuffer::New(isolate, byte_length); |
ArrayBuffer::Contents contents = array_buffer->GetContents(); |
DCHECK(static_cast<size_t>(byte_length) == contents.ByteLength()); |