Complete static field accesses; clear TODO's
This adds the fast path for static field accesses. Miscellaneous
changes include adding dummy helper for filled array allocation,
elimination of redunant arg1/r1 load, deleting TODO's that I'm not
going to do, and altered compiler_test to use System.out.println
instead of System.out.printf.
Change-Id: I560aa6093c98f1d288d64f346c8fd9ab7f180994
diff --git a/src/object.h b/src/object.h
index ca84dac..4edae14 100644
--- a/src/object.h
+++ b/src/object.h
@@ -563,11 +563,11 @@
static void SetClass(Class* java_lang_reflect_Field);
static void ResetClass();
- private:
bool IsVolatile() const {
return (GetAccessFlags() & kAccVolatile) != 0;
}
+ private:
// private implementation of field access using raw data
uint32_t Get32(const Object* object) const;
void Set32(Object* object, uint32_t new_value) const;
@@ -758,6 +758,11 @@
return OFFSET_OF_OBJECT_MEMBER(Method, dex_cache_strings_);
}
+ static MemberOffset DexCacheInitializedStaticStorageOffset() {
+ return OFFSET_OF_OBJECT_MEMBER(Method,
+ dex_cache_initialized_static_storage_);
+ }
+
ObjectArray<Class>* GetDexCacheResolvedTypes() const;
void SetDexCacheResolvedTypes(ObjectArray<Class>* new_dex_cache_types);