OSDN Git Service

Revert "Revert "Use implicit null checks inside try blocks.""
authorVladimir Marko <vmarko@google.com>
Tue, 13 Sep 2016 11:56:01 +0000 (11:56 +0000)
committerVladimir Marko <vmarko@google.com>
Wed, 14 Sep 2016 09:42:08 +0000 (10:42 +0100)
commit3b7537bfc5a6b7ccb18b3970d8edf14b72464af7
tree49996e22e36a64ea862e7b173e9626d862a4d595
parentc11d1b42828475ea1e7319fc3eb9402edc5b1c13
Revert "Revert "Use implicit null checks inside try blocks.""

Fix implicit checks in try blocks to emit stack maps.
Fix arm64 null expection from signal entrypoint to call
the runtime handler instead or simply jumping there.

On Nexus 9, AOSP ToT, the boot.oat size reduction is
  prebuilt multi-part boot image:
    - 32-bit boot.oat: -448KiB (-1.3%)
    - 64-bit boot.oat: -528KiB (-1.2%)
  on-device built single boot image:
    - 32-bit boot.oat: -448KiB (-1.4%)
    - 64-bit boot.oat: -528KiB (-1.3%)
Note that the oat files no longer contain dex files which
have been moved to vdex, so the percentages are not directly
comparable with the those reported in the original commit.

Test: Run ART test suite including gc-stress on host and Nexus 9.
Bug: 30212852
Bug: 31468464

This reverts commit 0719b5b9b458cb3eb9f0823f0dacdfe1a71214dd.

Change-Id: If8a9da8c11adf2aad203e93b6684ce16ed776285
25 files changed:
compiler/optimizing/code_generator.cc
compiler/optimizing/code_generator.h
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/fault_handler_arm.cc
runtime/arch/arm/quick_entrypoints_arm.S
runtime/arch/arm64/fault_handler_arm64.cc
runtime/arch/arm64/quick_entrypoints_arm64.S
runtime/arch/mips/asm_support_mips.S
runtime/arch/mips/fault_handler_mips.cc
runtime/arch/mips/quick_entrypoints_mips.S
runtime/arch/mips64/asm_support_mips64.S
runtime/arch/mips64/fault_handler_mips64.cc
runtime/arch/mips64/quick_entrypoints_mips64.S
runtime/arch/x86/asm_support_x86.S
runtime/arch/x86/fault_handler_x86.cc
runtime/arch/x86/quick_entrypoints_x86.S
runtime/arch/x86_64/asm_support_x86_64.S
runtime/arch/x86_64/quick_entrypoints_x86_64.S
test/439-npe/expected.txt
test/439-npe/src/Main.java