| 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) {
|
| + 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;
|
| }
|
|
|