summaryrefslogtreecommitdiffstats
path: root/runtime/object_callbacks.h
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2014-07-14 14:57:16 -0700
committerMathieu Chartier <mathieuc@google.com>2014-07-16 12:34:43 -0700
commit4c13a3ff475f206c4d0a86ee2595c45392fd942f (patch)
tree5a96dff1dd5952aa70c2f25de46ea89d93e9225b /runtime/object_callbacks.h
parent524e5e3815d2b16ee77beda9976b7ec3aa54aba6 (diff)
downloadandroid_art-4c13a3ff475f206c4d0a86ee2595c45392fd942f.tar.gz
android_art-4c13a3ff475f206c4d0a86ee2595c45392fd942f.tar.bz2
android_art-4c13a3ff475f206c4d0a86ee2595c45392fd942f.zip
Disable adding main and non moving spaces to immune region in GSS
Disabled adding the main and non moving space to the immune region. This will enable us to recycle bump pointer spaces for malloc space -> malloc space compaction as well as collector transitions. Also added logic for falling back to the non moving space, we may copy objects there. Refactored mod union table logic into MarkReachableObjects. No measurable performance benefit or regression. Bug: 14059466 Bug: 16291259 Change-Id: If663d9fdbde943b988173b7f6ac844e5f78a0327
Diffstat (limited to 'runtime/object_callbacks.h')
-rw-r--r--runtime/object_callbacks.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/runtime/object_callbacks.h b/runtime/object_callbacks.h
index 0e6f4d80ae..592deed1a7 100644
--- a/runtime/object_callbacks.h
+++ b/runtime/object_callbacks.h
@@ -24,6 +24,8 @@
// For size_t.
#include <stdlib.h>
+#include "base/macros.h"
+
namespace art {
namespace mirror {
class Class;
@@ -57,8 +59,7 @@ typedef void (RootCallback)(mirror::Object** root, void* arg, uint32_t thread_id
// A callback for visiting an object in the heap.
typedef void (ObjectCallback)(mirror::Object* obj, void* arg);
// A callback used for marking an object, returns the new address of the object if the object moved.
-typedef mirror::Object* (MarkObjectCallback)(mirror::Object* obj, void* arg)
- __attribute__((warn_unused_result));
+typedef mirror::Object* (MarkObjectCallback)(mirror::Object* obj, void* arg) WARN_UNUSED;
// A callback for verifying roots.
typedef void (VerifyRootCallback)(const mirror::Object* root, void* arg, size_t vreg,
const StackVisitor* visitor, RootType root_type);
@@ -68,13 +69,12 @@ typedef void (DelayReferenceReferentCallback)(mirror::Class* klass, mirror::Refe
// A callback for testing if an object is marked, returns nullptr if not marked, otherwise the new
// address the object (if the object didn't move, returns the object input parameter).
-typedef mirror::Object* (IsMarkedCallback)(mirror::Object* object, void* arg)
- __attribute__((warn_unused_result));
+typedef mirror::Object* (IsMarkedCallback)(mirror::Object* object, void* arg) WARN_UNUSED;
// Returns true if the object in the heap reference is marked, if it is marked and has moved the
// callback updates the heap reference contain the new value.
typedef bool (IsHeapReferenceMarkedCallback)(mirror::HeapReference<mirror::Object>* object,
- void* arg) __attribute__((warn_unused_result));
+ void* arg) WARN_UNUSED;
typedef void (ProcessMarkStackCallback)(void* arg);
} // namespace art