Chromium Code Reviews| Index: vm/heap.cc |
| =================================================================== |
| --- vm/heap.cc (revision 2587) |
| +++ vm/heap.cc (working copy) |
| @@ -54,7 +54,7 @@ |
| if (addr != 0) { |
| return addr; |
| } |
| - new_space_->Scavenge(); |
| + CollectGarbage(kNew); |
| if (FLAG_verbose_gc) { |
| OS::PrintErr("New space (%dk) Old space (%dk) Code space (%dk)\n", |
| (new_space_->in_use() / KB), |
| @@ -73,8 +73,14 @@ |
| ASSERT(Isolate::Current()->no_gc_scope_depth() == 0); |
| uword addr = old_space_->TryAllocate(size); |
| if (addr == 0) { |
| - // TODO(iposva): Support GC. |
| - FATAL("Exhausted heap space."); |
| + CollectGarbage(kOld); |
| + if (FLAG_verbose_gc) { |
|
cshapiro
2011/12/19 17:44:48
Lines 77-82 are a copy of lines 58-63. Maybe it i
Ivan Posva
2011/12/19 19:24:23
I am planning to pull the GC stats gathering out i
|
| + OS::PrintErr("New space (%dk) Old space (%dk) Code space (%dk)\n", |
| + (new_space_->in_use() / KB), |
| + (old_space_->in_use() / KB), |
| + (code_space_->in_use() / KB)); |
| + } |
| + addr = old_space_->TryAllocate(size); |
| } |
| return addr; |
| } |