OSDN Git Service

Ensure that all redefinition created dex file get on classpath
authorAlex Light <allight@google.com>
Wed, 1 Feb 2017 23:35:34 +0000 (15:35 -0800)
committerAlex Light <allight@google.com>
Thu, 2 Feb 2017 19:13:25 +0000 (11:13 -0800)
commit1babae0f39c30e699f8580b6c28b4186aecdf690
tree69977db3f47455f94c24d5302c5089716d6d5e6c
parent406402baa4900c36b3fe27b03bf9e04e978e50be
Ensure that all redefinition created dex file get on classpath

We were not adding some DexFiles to the ClassPath if there were
multiple classes from the same classloader being redefined at the same
time. We fixed this issue and made a test for it.

Test: mma -j40 test-art-host

Change-Id: I6e8961c8602367ebec5d5a948d71e58f3be2f6d7
15 files changed:
runtime/openjdkjvmti/ti_class_loader.cc
runtime/openjdkjvmti/ti_class_loader.h
runtime/openjdkjvmti/ti_redefine.cc
runtime/openjdkjvmti/ti_redefine.h
test/944-transform-classloaders/build [new file with mode: 0755]
test/944-transform-classloaders/classloader.cc [new file with mode: 0644]
test/944-transform-classloaders/expected.txt [new file with mode: 0644]
test/944-transform-classloaders/info.txt [new file with mode: 0644]
test/944-transform-classloaders/run [new file with mode: 0755]
test/944-transform-classloaders/src/CommonClassDefinition.java [new file with mode: 0644]
test/944-transform-classloaders/src/Main.java [new file with mode: 0644]
test/944-transform-classloaders/src/Transform.java [new file with mode: 0644]
test/944-transform-classloaders/src/Transform2.java [new file with mode: 0644]
test/Android.bp
test/ti-agent/common_load.cc