Avoid handle-less fields in ClassLinker::InitializeClass()
There were some handle-less fields in a SafeMap across GC points.
Bug: 12687968
Change-Id: Ib8c6527d4e23031f1d0074fa11d8f85499b68340
diff --git a/runtime/class_linker.h b/runtime/class_linker.h
index 5694149..edbf2b3 100644
--- a/runtime/class_linker.h
+++ b/runtime/class_linker.h
@@ -437,8 +437,8 @@
void AppendToBootClassPath(const DexFile& dex_file, Handle<mirror::DexCache> dex_cache)
SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
- void ConstructFieldMap(const DexFile& dex_file, const DexFile::ClassDef& dex_class_def,
- mirror::Class* c, SafeMap<uint32_t, mirror::ArtField*>& field_map)
+ void ConstructFieldArray(const DexFile& dex_file, const DexFile::ClassDef& dex_class_def,
+ mirror::Class* c, Handle<mirror::ObjectArray<mirror::ArtField>> field_array)
SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
// Precomputes size needed for Class, in the case of a non-temporary class this size must be