OSDN Git Service

Don't copy fill array data to quick literal pool.
authorIan Rogers <irogers@google.com>
Wed, 8 Oct 2014 22:35:22 +0000 (15:35 -0700)
committerIan Rogers <irogers@google.com>
Wed, 8 Oct 2014 23:00:31 +0000 (16:00 -0700)
commit832336b3c9eb892045a8de1bb12c9361112ca3c5
tree0e8696869a28ee0dee34d130b586b1bf6f072d6e
parentf1f05d303988a5c071c87b760056be8358276c94
Don't copy fill array data to quick literal pool.

Currently quick copies the fill array data from the dex file to the literal
pool. It then has to go through hoops to pass this PC relative address down
to out-of-line code. Instead, pass the offset of the table to the out-of-line
code and use the CodeItem data associated with the ArtMethod. This reduces
the size of oat code while greatly simplifying it.
Unify the FillArrayData implementation in quick, portable and the interpreters.

Change-Id: I9c6971cf46285fbf197856627368c0185fdc98ca
22 files changed:
compiler/dex/mir_graph.h
compiler/dex/quick/arm/call_arm.cc
compiler/dex/quick/arm/codegen_arm.h
compiler/dex/quick/arm64/call_arm64.cc
compiler/dex/quick/arm64/codegen_arm64.h
compiler/dex/quick/gen_common.cc
compiler/dex/quick/mips/call_mips.cc
compiler/dex/quick/mips/codegen_mips.h
compiler/dex/quick/mir_to_lir.h
compiler/dex/quick/x86/call_x86.cc
compiler/dex/quick/x86/codegen_x86.h
runtime/arch/arm/quick_entrypoints_arm.S
runtime/arch/arm64/quick_entrypoints_arm64.S
runtime/arch/mips/quick_entrypoints_mips.S
runtime/arch/x86/quick_entrypoints_x86.S
runtime/arch/x86_64/quick_entrypoints_x86_64.S
runtime/entrypoints/entrypoint_utils.cc
runtime/entrypoints/entrypoint_utils.h
runtime/entrypoints/portable/portable_fillarray_entrypoints.cc
runtime/entrypoints/quick/quick_fillarray_entrypoints.cc
runtime/interpreter/interpreter_goto_table_impl.cc
runtime/interpreter/interpreter_switch_impl.cc