OSDN Git Service

Make class redefinition work with native methods on stack.
authorAlex Light <allight@google.com>
Thu, 9 Feb 2017 22:49:13 +0000 (14:49 -0800)
committerAlex Light <allight@google.com>
Thu, 9 Feb 2017 22:53:37 +0000 (14:53 -0800)
commit2863f67f4335c37e92f8923d23b2443bc3316c88
treed1168f2b58757d9270f116cf13ee7871c42b573a
parente4530079672682ff3900d84c08b666a6a899d973
Make class redefinition work with native methods on stack.

Previously we would crash if we tried to redefine a class with native
methods if it had any native frames on a stack. This happened when we
tried to create an obsolete method for the native method.

Since native methods cannot really become obsolete in the same way
that regular java ones can we simply do not make any obsolete methods
for these native methods.

Test: mma -j40 test-art-host
Change-Id: Ib677f73faae52627a478aa7cfe870c1f2c4fb503
runtime/openjdkjvmti/ti_redefine.cc
test/945-obsolete-native/build [new file with mode: 0755]
test/945-obsolete-native/expected.txt [new file with mode: 0644]
test/945-obsolete-native/info.txt [new file with mode: 0644]
test/945-obsolete-native/obsolete_native.cc [new file with mode: 0644]
test/945-obsolete-native/run [new file with mode: 0755]
test/945-obsolete-native/src/Main.java [new file with mode: 0644]
test/945-obsolete-native/src/Transform.java [new file with mode: 0644]
test/Android.bp
test/ti-agent/common_load.cc