diff options
author | Mathieu Chartier <mathieuc@google.com> | 2014-06-15 12:39:02 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2014-06-16 14:01:52 -0700 |
commit | 308351ada0008b0cbe1a5afc31c302c975554ee4 (patch) | |
tree | 1447c36df5616515d6e7ac35c185721d3c829c4b /runtime/object_callbacks.h | |
parent | 97ed29f800c56a06fd6989e0883e4c97bedd2453 (diff) | |
download | android_art-308351ada0008b0cbe1a5afc31c302c975554ee4.tar.gz android_art-308351ada0008b0cbe1a5afc31c302c975554ee4.tar.bz2 android_art-308351ada0008b0cbe1a5afc31c302c975554ee4.zip |
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.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/runtime/object_callbacks.h b/runtime/object_callbacks.h index dd8ce16f74..d8c1c402b9 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 |