summaryrefslogtreecommitdiffstats
path: root/runtime/object_callbacks.h
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2014-06-15 12:39:02 -0700
committerMathieu Chartier <mathieuc@google.com>2014-06-16 14:01:52 -0700
commit308351ada0008b0cbe1a5afc31c302c975554ee4 (patch)
tree1447c36df5616515d6e7ac35c185721d3c829c4b /runtime/object_callbacks.h
parent97ed29f800c56a06fd6989e0883e4c97bedd2453 (diff)
downloadart-308351ada0008b0cbe1a5afc31c302c975554ee4.zip
art-308351ada0008b0cbe1a5afc31c302c975554ee4.tar.gz
art-308351ada0008b0cbe1a5afc31c302c975554ee4.tar.bz2
Change reference processing to use heap references.
Removes several SetReferents for updating moved referents. Cleaned up other aspects of the code. Change-Id: Ibcb4d713fadea617efee7e936352ddf77ff4c370
Diffstat (limited to 'runtime/object_callbacks.h')
-rw-r--r--runtime/object_callbacks.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/runtime/object_callbacks.h b/runtime/object_callbacks.h
index dd8ce16..d8c1c40 100644
--- a/runtime/object_callbacks.h
+++ b/runtime/object_callbacks.h
@@ -70,6 +70,11 @@ typedef void (DelayReferenceReferentCallback)(mirror::Class* klass, mirror::Refe
// 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));
+
+// 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));
typedef void (ProcessMarkStackCallback)(void* arg);
} // namespace art