From: Andreas Gampe Date: Thu, 11 Sep 2014 05:56:08 +0000 (+0000) Subject: am b19e9bb5: am df1532b9: ART: Correctly make methods preverified X-Git-Tag: android-x86-6.0-r1~145^2~1943 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=00dd814f538dbac50f9167a1f4551941f201ba64;p=android-x86%2Fart.git am b19e9bb5: am df1532b9: ART: Correctly make methods preverified * commit 'b19e9bb527bd156d1dccbc5c6e388917be28b16c': ART: Correctly make methods preverified --- 00dd814f538dbac50f9167a1f4551941f201ba64 diff --cc runtime/class_linker.h index 158816d19,aef08660e..92dab956f --- a/runtime/class_linker.h +++ b/runtime/class_linker.h @@@ -625,13 -619,18 +625,18 @@@ class ClassLinker const uint32_t* dex_location_checksum, std::string* error_msg); - mirror::ArtMethod* CreateProxyConstructor(Thread* self, Handle klass, + mirror::ArtMethod* CreateProxyConstructor(Thread* self, ConstHandle klass, mirror::Class* proxy_class) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); - mirror::ArtMethod* CreateProxyMethod(Thread* self, Handle klass, - Handle prototype) + mirror::ArtMethod* CreateProxyMethod(Thread* self, ConstHandle klass, + ConstHandle prototype) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); + // Ensures that methods have the kAccPreverified bit set. We use the kAccPreverfied bit on the + // class access flags to determine whether this has been done before. + void EnsurePreverifiedMethods(Handle c) + SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); + mirror::Class* LookupClassFromTableLocked(const char* descriptor, const mirror::ClassLoader* class_loader, size_t hash)