Reviewers: Michael Starzinger,
Message:
Please take a look.
Description:
Ignore soft heap limit when reserving space.
[email protected]
Please review this at https://chromiumcodereview.appspot.com/9605014/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/heap.cc
Index: src/heap.cc
diff --git a/src/heap.cc b/src/heap.cc
index
82e0965e9f83dcfefc8327099041a7403b22e29c..ee7db98cccc7c577eca4aa48f5cc54cdfa7f1829
100644
--- a/src/heap.cc
+++ b/src/heap.cc
@@ -604,26 +604,31 @@ void Heap::ReserveSpace(
gc_performed = true;
}
if (!old_pointer_space->ReserveSpace(pointer_space_size)) {
+ AlwaysAllocateScope ignore_soft_heap_limit_when_reserving_space;
Heap::CollectGarbage(OLD_POINTER_SPACE,
"failed to reserve space in the old pointer
space");
gc_performed = true;
}
if (!(old_data_space->ReserveSpace(data_space_size))) {
+ AlwaysAllocateScope ignore_soft_heap_limit_when_reserving_space;
Heap::CollectGarbage(OLD_DATA_SPACE,
"failed to reserve space in the old data
space");
gc_performed = true;
}
if (!(code_space->ReserveSpace(code_space_size))) {
+ AlwaysAllocateScope ignore_soft_heap_limit_when_reserving_space;
Heap::CollectGarbage(CODE_SPACE,
"failed to reserve space in the code space");
gc_performed = true;
}
if (!(map_space->ReserveSpace(map_space_size))) {
+ AlwaysAllocateScope ignore_soft_heap_limit_when_reserving_space;
Heap::CollectGarbage(MAP_SPACE,
"failed to reserve space in the map space");
gc_performed = true;
}
if (!(cell_space->ReserveSpace(cell_space_size))) {
+ AlwaysAllocateScope ignore_soft_heap_limit_when_reserving_space;
Heap::CollectGarbage(CELL_SPACE,
"failed to reserve space in the cell space");
gc_performed = true;
@@ -637,6 +642,7 @@ void Heap::ReserveSpace(
large_object_size += cell_space_size + map_space_size +
code_space_size +
data_space_size + pointer_space_size;
if (!(lo_space->ReserveSpace(large_object_size))) {
+ AlwaysAllocateScope ignore_soft_heap_limit_when_reserving_space;
Heap::CollectGarbage(LO_SPACE,
"failed to reserve space in the large object
space");
gc_performed = true;
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev