OSDN Git Service

Force set resolved method for static invokes
authorMathieu Chartier <mathieuc@google.com>
Wed, 28 Jan 2015 21:11:44 +0000 (13:11 -0800)
committerMathieu Chartier <mathieuc@google.com>
Wed, 28 Jan 2015 23:08:44 +0000 (15:08 -0800)
commit72d72ef51aef106d6f0300a72b583bcc5cd90a13
treea63fa10919fc156c5e76d633c39769b316426fd2
parent24c846a0df02d4cc2ef8a9c476305dca96be40db
Force set resolved method for static invokes

For static invokes, we may dispatch to the static method in the
superclass but resolve using the subclass. To prevent getting slow
paths on each invoke, we force set the resolved method for the
super class dex method index if we are in the same dex file.

Added test.

Bug: 19175856
(cherry picked from commit e4a91bbeaa118bc01a5c338c6a6d9ee094a6a2c6)
Change-Id: I26f8644a7f725f5c2dc2a94a8e9578f573792507
runtime/entrypoints/quick/quick_trampoline_entrypoints.cc
test/133-static-invoke-super/expected.txt [new file with mode: 0644]
test/133-static-invoke-super/info.txt [new file with mode: 0644]
test/133-static-invoke-super/run [new file with mode: 0755]
test/133-static-invoke-super/src/Main.java [new file with mode: 0644]
test/Android.run-test.mk