summaryrefslogtreecommitdiffstats
path: root/runtime/gc/collector/semi_space.h
diff options
context:
space:
mode:
authorHiroshi Yamauchi <yamauchi@google.com>2014-04-22 17:10:48 -0700
committerHiroshi Yamauchi <yamauchi@google.com>2014-04-28 12:42:43 -0700
commit4db7449c0065971ec3a64ca04aeb64cfd2e802f0 (patch)
treea75e8c888151388653cf81a1a35f008cb7e24528 /runtime/gc/collector/semi_space.h
parentec3a2157d2a3e8bcfb34e9a2f2aa54254a8eec19 (diff)
downloadart-4db7449c0065971ec3a64ca04aeb64cfd2e802f0.zip
art-4db7449c0065971ec3a64ca04aeb64cfd2e802f0.tar.gz
art-4db7449c0065971ec3a64ca04aeb64cfd2e802f0.tar.bz2
Improve GSS reference processing.
Support the case where the reference object is in the free list space and the referent object is in the bump pointer space at a bump pointer space collection. Bug: 11650816 Change-Id: If98b08edc9e37351c74ee07cb3f2d30c2b4d0056
Diffstat (limited to 'runtime/gc/collector/semi_space.h')
-rw-r--r--runtime/gc/collector/semi_space.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/runtime/gc/collector/semi_space.h b/runtime/gc/collector/semi_space.h
index 3d635f0..51b0869 100644
--- a/runtime/gc/collector/semi_space.h
+++ b/runtime/gc/collector/semi_space.h
@@ -138,6 +138,10 @@ class SemiSpace : public GarbageCollector {
static void ProcessMarkStackCallback(void* arg)
EXCLUSIVE_LOCKS_REQUIRED(Locks::mutator_lock_, Locks::heap_bitmap_lock_);
+ static void DelayReferenceReferentCallback(mirror::Class* klass, mirror::Reference* ref,
+ void* arg)
+ SHARED_LOCKS_REQUIRED(Locks::heap_bitmap_lock_, Locks::mutator_lock_);
+
virtual mirror::Object* MarkNonForwardedObject(mirror::Object* obj)
EXCLUSIVE_LOCKS_REQUIRED(Locks::heap_bitmap_lock_)
SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);