summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMingyao Yang <mingyao@google.com>2014-09-11 18:10:04 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-09-11 18:10:04 +0000
commit967e1a56df7675c8d38d411736fc081039f1a9f9 (patch)
tree62151b066b7531bbe78bfd6fe3c375ea31d3d2bc
parent4a4dafe9bbf3fd1b15d85d76c3af7dd581647ace (diff)
parent46f0e97fcd4521db8b98a62eb977095b884659db (diff)
downloadart-967e1a56df7675c8d38d411736fc081039f1a9f9.zip
art-967e1a56df7675c8d38d411736fc081039f1a9f9.tar.gz
art-967e1a56df7675c8d38d411736fc081039f1a9f9.tar.bz2
Merge "Add some comments for retired class."
-rw-r--r--runtime/mirror/class.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/runtime/mirror/class.h b/runtime/mirror/class.h
index cff8236..4a53619 100644
--- a/runtime/mirror/class.h
+++ b/runtime/mirror/class.h
@@ -98,6 +98,12 @@ class MANAGED Class FINAL : public Object {
// Class Status
//
+ // kStatusRetired: Class that's temporarily used till class linking time
+ // has its (vtable) size figured out and has been cloned to one with the
+ // right size which will be the one used later. The old one is retired and
+ // will be gc'ed once all refs to the class point to the newly
+ // cloned version.
+ //
// kStatusNotReady: If a Class cannot be found in the class table by
// FindClass, it allocates an new one with AllocClass in the
// kStatusNotReady and calls LoadClass. Note if it does find a
@@ -133,7 +139,7 @@ class MANAGED Class FINAL : public Object {
//
// TODO: Explain the other states
enum Status {
- kStatusRetired = -2,
+ kStatusRetired = -2, // Retired, should not be used. Use the newly cloned one instead.
kStatusError = -1,
kStatusNotReady = 0,
kStatusIdx = 1, // Loaded, DEX idx in super_class_type_idx_ and interfaces_type_idx_.