OSDN Git Service

Basic obsolete methods support
authorAlex Light <allight@google.com>
Tue, 29 Nov 2016 00:24:32 +0000 (16:24 -0800)
committerAlex Light <allight@google.com>
Wed, 14 Dec 2016 21:01:27 +0000 (13:01 -0800)
commitd8936da27b792d1ca02e59c92456a1a53c7b9905
tree6a593dd426e7f4a15c651dd3b872f22fb64f09ce
parent7c73bf3518eea7544406eadfed6946411c54a267
Basic obsolete methods support

Add support for executing obsolete methods following redefinitions.
This support includes methods that have been jitted. This does not add
any additional validity checks to our redefinition functions.

Note using work-arounds to ensure 916 works pending some fixes to the
compiler, deoptimizer, or both.

Test: ./test/run-test --host 914
Test: ./test/run-test --host 915
Test: ./test/run-test --host 916
Test: mma -j40 test-art-host
Test: ART_TEST_JIT=true \
      ART_TEST_INTERPRETER=true mma -j40 test-art-host
Test: ./art/tools/run-jdwp-tests.sh --mode=host --variant=X64
Test: ./art/tools/run-jdwp-tests.sh --mode=host --variant=X64 --no-jit

Bug: 32369913
Bug: 33630159

Change-Id: I78ef95f484146f1fb93c37fc50f56575bdab2432
39 files changed:
compiler/image_writer.h
runtime/art_method-inl.h
runtime/art_method.h
runtime/entrypoints/entrypoint_utils-inl.h
runtime/instrumentation.cc
runtime/instrumentation.h
runtime/interpreter/interpreter_common.h
runtime/jit/jit_code_cache.cc
runtime/jit/jit_code_cache.h
runtime/jit/profiling_info.h
runtime/mirror/dex_cache.h
runtime/openjdkjvmti/ti_redefine.cc
runtime/openjdkjvmti/ti_redefine.h
runtime/stack.cc
runtime/stack.h
test/914-hello-obsolescence/build [new file with mode: 0755]
test/914-hello-obsolescence/expected.txt [new file with mode: 0644]
test/914-hello-obsolescence/info.txt [new file with mode: 0644]
test/914-hello-obsolescence/run [new file with mode: 0755]
test/914-hello-obsolescence/src/Main.java [new file with mode: 0644]
test/914-hello-obsolescence/src/Transform.java [new file with mode: 0644]
test/915-obsolete-2/build [new file with mode: 0755]
test/915-obsolete-2/expected.txt [new file with mode: 0644]
test/915-obsolete-2/info.txt [new file with mode: 0644]
test/915-obsolete-2/run [new file with mode: 0755]
test/915-obsolete-2/src/Main.java [new file with mode: 0644]
test/915-obsolete-2/src/Transform.java [new file with mode: 0644]
test/916-obsolete-jit/build [new file with mode: 0755]
test/916-obsolete-jit/expected.txt [new file with mode: 0644]
test/916-obsolete-jit/info.txt [new file with mode: 0644]
test/916-obsolete-jit/run [new file with mode: 0755]
test/916-obsolete-jit/src/Main.java [new file with mode: 0644]
test/916-obsolete-jit/src/Transform.java [new file with mode: 0644]
test/Android.bp
test/Android.run-test.mk
test/common/stack_inspect.cc
test/etc/default-build
test/ti-agent/common_helper.cc
test/ti-agent/common_load.cc