OSDN Git Service

Reduced memory usage of primitive fields smaller than 4-bytes
authorFred Shih <ffred@google.com>
Thu, 17 Jul 2014 01:38:08 +0000 (18:38 -0700)
committerFred Shih <ffred@google.com>
Mon, 25 Aug 2014 18:16:53 +0000 (11:16 -0700)
commit37f05ef45e0393de812d51261dc293240c17294d
tree7c7793862efa52e1deb42babbdcb652c245ab941
parente25826e28ea65d9c1aa23f84788a091c677b20c7
Reduced memory usage of primitive fields smaller than 4-bytes

Reduced memory used by byte and boolean fields from 4 bytes down to a
single byte and shorts and chars down to two bytes. Fields are now
arranged as Reference followed by decreasing component sizes, with
fields shuffled forward as needed.

Bug: 8135266
Change-Id: I65eaf31ed27e5bd5ba0c7d4606454b720b074752
51 files changed:
compiler/dex/dex_to_dex_compiler.cc
compiler/dex/mir_graph.cc
compiler/dex/quick/arm64/int_arm64.cc
compiler/dex/quick/gen_common.cc
compiler/dex/quick/gen_invoke.cc
compiler/dex/quick/mir_to_lir.cc
compiler/dex/quick/mir_to_lir.h
compiler/dex/quick/quick_compiler.cc
compiler/dex/quick/x86/utility_x86.cc
compiler/oat_test.cc
oatdump/oatdump.cc
runtime/arch/arm/entrypoints_init_arm.cc
runtime/arch/arm/quick_entrypoints_arm.S
runtime/arch/arm64/entrypoints_init_arm64.cc
runtime/arch/arm64/quick_entrypoints_arm64.S
runtime/arch/mips/entrypoints_init_mips.cc
runtime/arch/mips/quick_entrypoints_mips.S
runtime/arch/stub_test.cc
runtime/arch/x86/entrypoints_init_x86.cc
runtime/arch/x86/quick_entrypoints_x86.S
runtime/arch/x86_64/entrypoints_init_x86_64.cc
runtime/arch/x86_64/quick_entrypoints_x86_64.S
runtime/class_linker.cc
runtime/class_linker.h
runtime/common_throws.cc
runtime/dex_instruction_list.h
runtime/entrypoints/quick/quick_entrypoints_list.h
runtime/entrypoints/quick/quick_field_entrypoints.cc
runtime/entrypoints_order_test.cc
runtime/interpreter/interpreter_common.cc
runtime/interpreter/interpreter_goto_table_impl.cc
runtime/interpreter/interpreter_switch_impl.cc
runtime/mirror/array-inl.h
runtime/mirror/art_field-inl.h
runtime/mirror/art_field.h
runtime/mirror/art_method-inl.h
runtime/mirror/class-inl.h
runtime/mirror/class.h
runtime/mirror/dex_cache-inl.h
runtime/mirror/object-inl.h
runtime/mirror/object.h
runtime/mirror/reference-inl.h
runtime/mirror/string-inl.h
runtime/oat.cc
runtime/primitive.h
runtime/runtime.cc
runtime/runtime.h
runtime/thread.cc
runtime/transaction.cc
runtime/transaction.h
runtime/verifier/method_verifier.cc