Don't retry verification at compile time.
We don't re-verify verified or erroneous classes at compile time. We
also need to not re-verify compile time verified classes or else the
class status can become misleading.
This should fix races seen in dalvik-dev builds since parallel
verification was re-enabled.
Some other code and logic clean up.
Change-Id: Iff8987292064b825742c52e408d38c31eb25c526
diff --git a/src/object.h b/src/object.h
index 36db13d..e746f73 100644
--- a/src/object.h
+++ b/src/object.h
@@ -1176,14 +1176,15 @@
enum Status {
kStatusError = -1,
kStatusNotReady = 0,
- kStatusIdx = 1, // loaded, DEX idx in super_class_type_idx_ and interfaces_type_idx_
- kStatusLoaded = 2, // DEX idx values resolved
- kStatusResolved = 3, // part of linking
- kStatusVerifying = 4, // in the process of being verified
- kStatusRetryVerificationAtRuntime = 5, // compile time verification failed, retry at runtime
- kStatusVerified = 6, // logically part of linking; done pre-init
- kStatusInitializing = 7, // class init in progress
- kStatusInitialized = 8, // ready to go
+ kStatusIdx = 1, // Loaded, DEX idx in super_class_type_idx_ and interfaces_type_idx_.
+ kStatusLoaded = 2, // DEX idx values resolved.
+ kStatusResolved = 3, // Part of linking.
+ kStatusVerifying = 4, // In the process of being verified.
+ kStatusRetryVerificationAtRuntime = 5, // Compile time verification failed, retry at runtime.
+ kStatusVerifyingAtRuntime = 6, // Retrying verification at runtime.
+ kStatusVerified = 7, // Logically part of linking; done pre-init.
+ kStatusInitializing = 8, // Class init in progress.
+ kStatusInitialized = 9, // Ready to go.
};
Status GetStatus() const {