OSDN Git Service

Handle classes with a huge number of direct methods.
authorRoland Levillain <rpl@google.com>
Mon, 24 Apr 2017 15:27:43 +0000 (16:27 +0100)
committerRoland Levillain <rpl@google.com>
Tue, 25 Apr 2017 16:52:14 +0000 (17:52 +0100)
commitc5afe846ac45e59b512e91ec1cd07fff0d513332
tree72aa85ea80a675574dfce68bdd7f482ba912ba9d
parent6c4f860c9503d627ed3aae9c4f4fc0d80265da63
Handle classes with a huge number of direct methods.

Make sure that fields Class::copied_methods_offset_ and
Class::virtual_method_offset_ are correctly interpreted as unsigned
16-bit integers.

(cherry picked from commit 6680e3394aeb2b89300e459dc4dacfbac4c5847e)

Test: art/test/testrunner/testrunner.py -j4 -t 648-many-direct-methods
Bug: 33650497
Change-Id: I63e97d5b7e08d58252ff4831b63c4035ecc55979
runtime/mirror/class-inl.h
test/648-many-direct-methods/build [new file with mode: 0755]
test/648-many-direct-methods/expected.txt [new file with mode: 0644]
test/648-many-direct-methods/info.txt [new file with mode: 0644]
test/648-many-direct-methods/util-src/generate_java.py [new file with mode: 0755]