Implement JNI NewBooleanArray et cetera.
(Primitive types only. NewObjectArray to come...)
Change-Id: I2f54031d96062d666089c91ba40e16028ae21bd4
diff --git a/src/class_linker.h b/src/class_linker.h
index fa50537..b2b4c95 100644
--- a/src/class_linker.h
+++ b/src/class_linker.h
@@ -31,6 +31,8 @@
Class* FindClass(const StringPiece& descriptor,
ClassLoader* class_loader);
+ Class* FindPrimitiveClass(char type);
+
Class* FindSystemClass(const StringPiece& descriptor) {
return FindClass(descriptor, NULL);
}
@@ -42,8 +44,9 @@
void VisitRoots(Heap::RootVistor* root_visitor, void* arg);
private:
- ClassLinker() {
- classes_lock_ = Mutex::Create("ClassLinker::Lock");
+ ClassLinker()
+ : classes_lock_(Mutex::Create("ClassLinker::Lock")),
+ init_done_(false) {
}
void Init(const std::vector<DexFile*>& boot_class_path_);
@@ -69,8 +72,6 @@
Class* CreateArrayClass(const StringPiece& descriptor,
ClassLoader* class_loader);
- Class* FindPrimitiveClass(char type);
-
const DexFile& FindDexFile(const DexCache* dex_cache) const;
DexCache* FindDexCache(const DexFile* dex_file) const;
@@ -165,23 +166,28 @@
kJavaLangObject,
kObjectArrayClass,
kJavaLangString,
- kCharArrayClass,
- kIntArrayClass,
- kLongArrayClass,
kJavaLangReflectField,
kJavaLangReflectMethod,
kJavaLangClassLoader,
kDalvikSystemBaseDexClassLoader,
kDalvikSystemPathClassLoader,
kPrimitiveBoolean,
- kPrimitiveChar,
- kPrimitiveFloat,
- kPrimitiveDouble,
kPrimitiveByte,
- kPrimitiveShort,
+ kPrimitiveChar,
+ kPrimitiveDouble,
+ kPrimitiveFloat,
kPrimitiveInt,
kPrimitiveLong,
+ kPrimitiveShort,
kPrimitiveVoid,
+ kBooleanArrayClass,
+ kByteArrayClass,
+ kCharArrayClass,
+ kDoubleArrayClass,
+ kFloatArrayClass,
+ kIntArrayClass,
+ kLongArrayClass,
+ kShortArrayClass,
kClassRootsMax,
};
ObjectArray<Class>* class_roots_;