diff options
author | David Srbecky <dsrbecky@google.com> | 2021-03-02 20:10:45 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-03-02 20:10:45 +0000 |
commit | a9046c50ba1961ff05da074e98c7382bc8a13a5b (patch) | |
tree | 36bcf573b81710dfd50319ec85fada4b9f0c8362 | |
parent | 87650852de822f40971ecc7ece93b486d388b7f9 (diff) | |
parent | 11943fce963dedeaa9b2d261afa7c30f4bcc0b81 (diff) | |
download | art-a9046c50ba1961ff05da074e98c7382bc8a13a5b.tar.gz |
Move dex file registration in ti_redefine. am: 11943fce96
Original change: https://android-review.googlesource.com/c/platform/art/+/1603474
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ic7126d0d75add4d89dc6b66ef6eaa53063f45e60
-rw-r--r-- | openjdkjvmti/ti_redefine.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/openjdkjvmti/ti_redefine.cc b/openjdkjvmti/ti_redefine.cc index 12d00ad052..487d9dae4d 100644 --- a/openjdkjvmti/ti_redefine.cc +++ b/openjdkjvmti/ti_redefine.cc @@ -2487,9 +2487,11 @@ jvmtiError Redefiner::Run() { // At this point we can no longer fail without corrupting the runtime state. for (RedefinitionDataIter data = holder.begin(); data != holder.end(); ++data) { art::ClassLinker* cl = runtime_->GetClassLinker(); - cl->RegisterExistingDexCache(data.GetNewDexCache(), data.GetSourceClassLoader()); if (data.GetSourceClassLoader() == nullptr) { + // AppendToBootClassPath includes dex file registration. cl->AppendToBootClassPath(self_, &data.GetRedefinition().GetDexFile()); + } else { + cl->RegisterExistingDexCache(data.GetNewDexCache(), data.GetSourceClassLoader()); } } UnregisterAllBreakpoints(); |