Chromium Code Reviews| Index: vm/gc_sweeper.h |
| =================================================================== |
| --- vm/gc_sweeper.h (revision 0) |
| +++ vm/gc_sweeper.h (revision 0) |
| @@ -0,0 +1,37 @@ |
| +// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| +// for details. All rights reserved. Use of this source code is governed by a |
| +// BSD-style license that can be found in the LICENSE file. |
| + |
| +#ifndef VM_GC_SWEEPER_H_ |
| +#define VM_GC_SWEEPER_H_ |
| + |
| +#include "vm/globals.h" |
| + |
| +namespace dart { |
| + |
| +// Forward declarations. |
| +class FreeList; |
| +class Heap; |
| +class HeapPage; |
| + |
| +// The class GCSweeper is used to visit the heap after marking to reclaim unused |
| +// memory. |
| +class GCSweeper { |
| + public: |
| + explicit GCSweeper(Heap* heap) : heap_(heap) {} |
| + ~GCSweeper() {} |
| + |
| + // Sweep the memory area for the page while clearing the mark bits and adding |
| + // all the unmarked onbjects to the freelist. |
|
siva
2011/12/14 16:20:13
*onbjects*objects
Ivan Posva
2011/12/15 22:29:19
Done.
|
| + // Returns the size of memory used by the marked objects. |
| + intptr_t SweepPage(HeapPage* page, FreeList* freelist); |
| + |
| + intptr_t SweepLargePage(HeapPage* page); |
| + |
| + private: |
| + Heap* heap_; |
|
siva
2011/12/14 16:20:13
DISALLOW_COPY_AND_ASSIGN
Ivan Posva
2011/12/15 22:29:19
DISALLOW_IMPLICIT_CONSTRUCTORS
|
| +}; |
| + |
| +} // namespace dart |
| + |
| +#endif // VM_GC_SWEEPER_H_ |