OSDN Git Service

am b19e9bb5: am df1532b9: ART: Correctly make methods preverified
authorAndreas Gampe <agampe@google.com>
Thu, 11 Sep 2014 05:56:08 +0000 (05:56 +0000)
committerAndroid Git Automerger <android-git-automerger@android.com>
Thu, 11 Sep 2014 05:56:08 +0000 (05:56 +0000)
* commit 'b19e9bb527bd156d1dccbc5c6e388917be28b16c':
  ART: Correctly make methods preverified

1  2 
runtime/class_linker.cc
runtime/class_linker.h
runtime/class_linker_test.cc
runtime/mirror/class-inl.h
runtime/mirror/class.h

Simple merge
@@@ -625,13 -619,18 +625,18 @@@ class ClassLinker 
                              const uint32_t* dex_location_checksum,
                              std::string* error_msg);
  
 -  mirror::ArtMethod* CreateProxyConstructor(Thread* self, Handle<mirror::Class> klass,
 +  mirror::ArtMethod* CreateProxyConstructor(Thread* self, ConstHandle<mirror::Class> klass,
                                              mirror::Class* proxy_class)
        SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
 -  mirror::ArtMethod* CreateProxyMethod(Thread* self, Handle<mirror::Class> klass,
 -                                       Handle<mirror::ArtMethod> prototype)
 +  mirror::ArtMethod* CreateProxyMethod(Thread* self, ConstHandle<mirror::Class> klass,
 +                                       ConstHandle<mirror::ArtMethod> 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<mirror::Class> c)
+       SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
    mirror::Class* LookupClassFromTableLocked(const char* descriptor,
                                              const mirror::ClassLoader* class_loader,
                                              size_t hash)
Simple merge
Simple merge
Simple merge