OSDN Git Service

Cache stack map encoding
authorDavid Brazdil <dbrazdil@google.com>
Fri, 29 May 2015 15:29:43 +0000 (16:29 +0100)
committerDavid Brazdil <dbrazdil@google.com>
Thu, 4 Jun 2015 16:25:02 +0000 (17:25 +0100)
commitf677ebfd832c9c614fea5e6735725fec2f7a3f2a
tree051b3ba6343bdbca4929d728dd5c0341e4383a08
parentc47908e8c32fd58bc4dc75998a80f706954db1dc
Cache stack map encoding

Operations on CodeInfo and StackMap objects repeatedly read encoding
information from the MemoryRegion. Since these are 3-bit-loads of
values that never change, caching them can measurably reduce compile
times.

According to benchmarks, this patch saves 1-3% on armv7, 2-4% on x86,
and 0-1% on x64.

Change-Id: I46b197513601325d8bab562cc80100c00ec28a3b
12 files changed:
compiler/optimizing/stack_map_stream.cc
compiler/optimizing/stack_map_stream.h
compiler/optimizing/stack_map_test.cc
oatdump/oatdump.cc
runtime/art_method.cc
runtime/check_reference_map_visitor.h
runtime/entrypoints/entrypoint_utils-inl.h
runtime/entrypoints/quick/quick_trampoline_entrypoints.cc
runtime/stack.cc
runtime/stack_map.cc
runtime/stack_map.h
runtime/thread.cc