OSDN Git Service

Reduce code size by sharing slow paths.
authorAart Bik <ajcbik@google.com>
Thu, 7 Jan 2016 23:33:50 +0000 (15:33 -0800)
committerAart Bik <ajcbik@google.com>
Wed, 13 Jan 2016 00:39:20 +0000 (16:39 -0800)
commit42249c3602c3d0243396ee3627ffb5906aa77c1e
tree1e822a21c87331246cbde3923eac88fa315fa2cc
parent922698ded1e80cad1ecce4c2172a88c76a216373
Reduce code size by sharing slow paths.

Rationale:
Sharing identical slow path code reduces code size.

Background:
Currently, slow paths with the same dex-pc, same physical register
spilling code, and identical stack maps are shared (making this
only useful for deopt slow paths). The newly introduced mechanism
is sufficiently general to allow future improvements by e.g.
allowing different dex-pc (by passing this to runtime) or even
the kind of slow paths (by passing runtime addresses to the slowpath).

Change-Id: I819615c47b4fd98440a241f681f93e4fc22d12e0
16 files changed:
compiler/optimizing/code_generator.h
compiler/optimizing/code_generator_arm.cc
compiler/optimizing/code_generator_arm.h
compiler/optimizing/code_generator_arm64.cc
compiler/optimizing/code_generator_arm64.h
compiler/optimizing/code_generator_mips.cc
compiler/optimizing/code_generator_mips.h
compiler/optimizing/code_generator_mips64.cc
compiler/optimizing/code_generator_mips64.h
compiler/optimizing/code_generator_x86.cc
compiler/optimizing/code_generator_x86.h
compiler/optimizing/code_generator_x86_64.cc
compiler/optimizing/code_generator_x86_64.h
test/561-shared-slowpaths/expected.txt [new file with mode: 0644]
test/561-shared-slowpaths/info.txt [new file with mode: 0644]
test/561-shared-slowpaths/src/Main.java [new file with mode: 0644]