summaryrefslogtreecommitdiffstats
path: root/compiler/utils/assembler_thumb_test.cc
diff options
context:
space:
mode:
authorDavid Brazdil <dbrazdil@google.com>2015-02-25 16:17:05 +0000
committerDavid Brazdil <dbrazdil@google.com>2015-03-02 16:26:25 +0000
commit5b8e6a594b827f7dc88b2e3d895e08f5b3f22446 (patch)
tree80dbd414dd8ff4398fae817b64bc374b95896b7a /compiler/utils/assembler_thumb_test.cc
parent2eb5168bd9e43b80452eaee5be32c063e124886e (diff)
downloadart-5b8e6a594b827f7dc88b2e3d895e08f5b3f22446.tar.gz
art-5b8e6a594b827f7dc88b2e3d895e08f5b3f22446.tar.bz2
art-5b8e6a594b827f7dc88b2e3d895e08f5b3f22446.zip
ART: Cache last returned range in LiveInterval::Covers
Optimizing spends ~10% of compilation time in the register allocator. One of the frequently called methods is LiveInterval::Covers which has linear complexity w.r.t. the number of gaps in liveness intervals. This patch leverages the fact that the register allocator calls Covers with non-decreasing position values and caches the last returned result to start the iteration closer to the result the next time the method is invoked. Stats from compiling the framework show that this optimization reduces the average number of iterations needed to find the result by 40%. Change-Id: I4dd26b900879d5e1d03818ebc1e117cc6a53053c
Diffstat (limited to 'compiler/utils/assembler_thumb_test.cc')
0 files changed, 0 insertions, 0 deletions