summaryrefslogtreecommitdiff
path: root/deps/v8/src/s390/assembler-s390.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/s390/assembler-s390.cc')
-rw-r--r--deps/v8/src/s390/assembler-s390.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/deps/v8/src/s390/assembler-s390.cc b/deps/v8/src/s390/assembler-s390.cc
index 246ab118f8..35305fc074 100644
--- a/deps/v8/src/s390/assembler-s390.cc
+++ b/deps/v8/src/s390/assembler-s390.cc
@@ -2101,7 +2101,14 @@ void Assembler::GrowBuffer(int needed) {
if (space < needed) {
desc.buffer_size += needed - space;
}
- CHECK_GT(desc.buffer_size, 0); // no overflow
+
+ // Some internal data structures overflow for very large buffers,
+ // they must ensure that kMaximalBufferSize is not too large.
+ if (desc.buffer_size > kMaximalBufferSize ||
+ static_cast<size_t>(desc.buffer_size) >
+ isolate_data().max_old_generation_size_) {
+ V8::FatalProcessOutOfMemory("Assembler::GrowBuffer");
+ }
// Set up new buffer.
desc.buffer = NewArray<byte>(desc.buffer_size);