| Index: src/zone.cc
|
| ===================================================================
|
| --- src/zone.cc (revision 926)
|
| +++ src/zone.cc (working copy)
|
| @@ -169,16 +169,10 @@
|
| new_size = kMinimumSegmentSize;
|
| } else if (new_size > kMaximumSegmentSize) {
|
| // Limit the size of new segments to avoid growing the segment size
|
| - // exponentially, thus putting pressure on contiguous virtual address
|
| - // space.
|
| - if (size > (kMaximumSegmentSize - kSegmentOverhead)) {
|
| - // Make sure to allocate a segment at large enough to hold the requested
|
| - // size.
|
| - new_size = kSegmentOverhead + size;
|
| - } else {
|
| - // Allocate a new segment of maximum size.
|
| - new_size = kMaximumSegmentSize;
|
| - }
|
| + // exponentially, thus putting pressure on contiguous virtual address space.
|
| + // All the while making sure to allocate a segment large enough to hold the
|
| + // requested size.
|
| + new_size = Max(kSegmentOverhead + size, kMaximumSegmentSize);
|
| }
|
| Segment* segment = Segment::New(new_size);
|
| if (segment == NULL) V8::FatalProcessOutOfMemory("Zone");
|
|
|