OSDN Git Service

Fix creating self-recursive obsolete methods.
authorAlex Light <allight@google.com>
Mon, 30 Jan 2017 22:57:11 +0000 (14:57 -0800)
committerAlex Light <allight@google.com>
Wed, 1 Feb 2017 23:39:49 +0000 (15:39 -0800)
commit1ebe4fe1a6cb0835197ee3a848d554b79ca9d367
tree69e01b73d1b5eccc37cf19a1daea89052de06a94
parent44790fe8b33c7a80da2e77787d5f8d4d4549114b
Fix creating self-recursive obsolete methods.

We were using recursive loading of the current art method which was
making us miss obsolete methods in some cases.

We could also end up checking the wrong method when walking the stack.

We also add tests for recursive obsolete methods in general.

Bug: 34815470

Test: mma -j40 test-art-host
Test: ART_TEST_JIT=true mma -j40 test-art-host
Change-Id: I522fd4cac4e3f9d35d03b128bad6d6971cfe6c4a
28 files changed:
compiler/optimizing/sharpening.cc
runtime/jit/jit_code_cache.cc
runtime/stack.cc
test/940-recursive-obsolete/build [new file with mode: 0755]
test/940-recursive-obsolete/expected.txt [new file with mode: 0644]
test/940-recursive-obsolete/info.txt [new file with mode: 0644]
test/940-recursive-obsolete/run [new file with mode: 0755]
test/940-recursive-obsolete/src/Main.java [new file with mode: 0644]
test/940-recursive-obsolete/src/Transform.java [new file with mode: 0644]
test/941-recurive-obsolete-jit/build [new file with mode: 0755]
test/941-recurive-obsolete-jit/expected.txt [new file with mode: 0644]
test/941-recurive-obsolete-jit/info.txt [new file with mode: 0644]
test/941-recurive-obsolete-jit/run [new file with mode: 0755]
test/941-recurive-obsolete-jit/src/Main.java [new file with mode: 0644]
test/941-recurive-obsolete-jit/src/Transform.java [new file with mode: 0644]
test/942-private-recursive/build [new file with mode: 0755]
test/942-private-recursive/expected.txt [new file with mode: 0644]
test/942-private-recursive/info.txt [new file with mode: 0644]
test/942-private-recursive/run [new file with mode: 0755]
test/942-private-recursive/src/Main.java [new file with mode: 0644]
test/942-private-recursive/src/Transform.java [new file with mode: 0644]
test/943-private-recursive-jit/build [new file with mode: 0755]
test/943-private-recursive-jit/expected.txt [new file with mode: 0644]
test/943-private-recursive-jit/info.txt [new file with mode: 0644]
test/943-private-recursive-jit/run [new file with mode: 0755]
test/943-private-recursive-jit/src/Main.java [new file with mode: 0644]
test/943-private-recursive-jit/src/Transform.java [new file with mode: 0644]
test/ti-agent/common_load.cc