diff options
author | Mathieu Chartier <mathieuc@google.com> | 2014-03-27 16:09:46 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2014-03-28 11:35:02 -0700 |
commit | 4aeec176eaf11fe03f342aadcbb79142230270ed (patch) | |
tree | b2c7abd4b3624dc1f801f6a29893e0f66497f378 /runtime/gc/collector/semi_space.h | |
parent | a708e32a9f764a48175e705ec4bcd2201c84f492 (diff) | |
download | art-4aeec176eaf11fe03f342aadcbb79142230270ed.zip art-4aeec176eaf11fe03f342aadcbb79142230270ed.tar.gz art-4aeec176eaf11fe03f342aadcbb79142230270ed.tar.bz2 |
Refactor some GC code.
Reduced amount of code in mark sweep / semi space by moving
common logic to garbage_collector.cc. Cleaned up mod union tables
and deleted an unused implementation.
Change-Id: I4bcc6ba41afd96d230cfbaf4d6636f37c52e37ea
Diffstat (limited to 'runtime/gc/collector/semi_space.h')
-rw-r--r-- | runtime/gc/collector/semi_space.h | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/runtime/gc/collector/semi_space.h b/runtime/gc/collector/semi_space.h index 52b53aa..f067cb2 100644 --- a/runtime/gc/collector/semi_space.h +++ b/runtime/gc/collector/semi_space.h @@ -28,37 +28,28 @@ namespace art { +class Thread; + namespace mirror { class Class; class Object; - template<class T> class ObjectArray; } // namespace mirror -class StackVisitor; -class Thread; - namespace gc { +class Heap; + namespace accounting { template <typename T> class AtomicStack; - class MarkIfReachesAllocspaceVisitor; - class ModUnionClearCardVisitor; - class ModUnionVisitor; - class ModUnionTableBitmap; - class MarkStackChunk; typedef AtomicStack<mirror::Object*> ObjectStack; class SpaceBitmap; } // namespace accounting namespace space { - class BumpPointerSpace; class ContinuousMemMapAllocSpace; class ContinuousSpace; - class MallocSpace; } // namespace space -class Heap; - namespace collector { class SemiSpace : public GarbageCollector { @@ -189,12 +180,6 @@ class SemiSpace : public GarbageCollector { void ProcessMarkStack() EXCLUSIVE_LOCKS_REQUIRED(Locks::mutator_lock_, Locks::heap_bitmap_lock_); - void ProcessReferences(mirror::Object** soft_references, bool clear_soft_references, - mirror::Object** weak_references, - mirror::Object** finalizer_references, - mirror::Object** phantom_references) - EXCLUSIVE_LOCKS_REQUIRED(Locks::mutator_lock_, Locks::heap_bitmap_lock_); - inline mirror::Object* GetForwardingAddressInFromSpace(mirror::Object* obj) const; // Revoke all the thread-local buffers. |