OSDN Git Service

Change deoptimize entrypoint to save everything.
authorVladimir Marko <vmarko@google.com>
Mon, 5 Sep 2016 09:44:04 +0000 (10:44 +0100)
committerVladimir Marko <vmarko@google.com>
Tue, 6 Sep 2016 16:37:41 +0000 (17:37 +0100)
commit239d6eaff0cbb5c4c0139f7053a012758799f186
tree8de26b30a2dfd94f849a38c8901437facbbc53b3
parent9d185da3bef8caf015d3dbf4ad79c520af7ce3b1
Change deoptimize entrypoint to save everything.

And implement FPU register retrieval from stack on x86.

On Nexus 9, AOSP ToT, the boot.oat size reduction is
  prebuilt multi-part boot image:
    - 32-bit boot.oat: -20KiB (-0.03%)
    - 64-bit boot.oat: -45KiB (-0.06%)
  on-device built single boot image:
    - 32-bit boot.oat: -24KiB (-0.04%)
    - 64-bit boot.oat: -36KiB (-0.05%)

Test: Run ART test suite on host and Nexus 9.
Bug: 30212852
Change-Id: I5d98e2a24363136d73dfec6100ab02f8eb101911
16 files changed:
compiler/optimizing/code_generator_arm.cc
compiler/optimizing/code_generator_arm64.cc
compiler/optimizing/code_generator_mips.cc
compiler/optimizing/code_generator_mips64.cc
compiler/optimizing/code_generator_x86.cc
compiler/optimizing/code_generator_x86_64.cc
runtime/arch/arm/quick_entrypoints_arm.S
runtime/arch/arm64/quick_entrypoints_arm64.S
runtime/arch/mips/quick_entrypoints_mips.S
runtime/arch/mips64/quick_entrypoints_mips64.S
runtime/arch/x86/quick_entrypoints_x86.S
runtime/arch/x86_64/quick_entrypoints_x86_64.S
runtime/oat.h
runtime/stack.cc
test/534-checker-bce-deoptimization/expected.txt
test/534-checker-bce-deoptimization/src/Main.java