OSDN Git Service

Put inlined ArtMethod pointer in stack maps.
authorNicolas Geoffray <ngeoffray@google.com>
Thu, 12 Jan 2017 13:25:19 +0000 (13:25 +0000)
committerNicolas Geoffray <ngeoffray@google.com>
Mon, 16 Jan 2017 22:56:56 +0000 (22:56 +0000)
commit5d37c152f21a0807459c6f53bc25e2d84f56d259
tree7d8cbce0a55f258150a047def70244f79afc866d
parentaa89a4c6fca095904521842c018399f1e3501a45
Put inlined ArtMethod pointer in stack maps.

Currently done for JIT. Can be extended for AOT and inlined boot
image methods.

Also refactor the lookup of a inlined method at runtime to not
rely on the dex cache, but look at the class loader tables.

bug: 30933338
test: test-art-host, test-art-target
Change-Id: I58bd4d763b82ab8ca3023742835ac388671d1794
26 files changed:
compiler/optimizing/code_generator.cc
compiler/optimizing/code_generator_arm64.cc
compiler/optimizing/code_generator_mips64.cc
compiler/optimizing/code_generator_x86.cc
compiler/optimizing/code_generator_x86_64.cc
compiler/optimizing/dex_cache_array_fixups_arm.cc
compiler/optimizing/dex_cache_array_fixups_mips.cc
compiler/optimizing/instruction_builder.cc
compiler/optimizing/intrinsics.cc
compiler/optimizing/nodes.cc
compiler/optimizing/nodes.h
compiler/optimizing/nodes_test.cc
compiler/optimizing/prepare_for_register_allocation.cc
compiler/optimizing/reference_type_propagation.cc
compiler/optimizing/stack_map_stream.cc
compiler/optimizing/stack_map_stream.h
compiler/optimizing/stack_map_test.cc
runtime/art_method-inl.h
runtime/art_method.h
runtime/class_linker.cc
runtime/class_linker_test.cc
runtime/entrypoints/entrypoint_utils-inl.h
runtime/stack_map.cc
runtime/stack_map.h
runtime/well_known_classes.cc
runtime/well_known_classes.h