OSDN Git Service

ARM64 asm for region space array allocation
authorMathieu Chartier <mathieuc@google.com>
Thu, 4 Aug 2016 18:08:26 +0000 (11:08 -0700)
committerMathieu Chartier <mathieuc@google.com>
Fri, 5 Aug 2016 17:42:03 +0000 (10:42 -0700)
commitf686c3feabe3519bedd1f3001e5dd598f46946ef
tree234494fbb4fcf640df4676659d6cf6f987e0d3ab
parent20b975cc5c5a1f4e6f0a8e525b5d2e63abc413df
ARM64 asm for region space array allocation

Wrote region space tlab array and array resolved allocators in
assembly code. The speedup is a combined increase from checking the
mark bit and having an assembly fast path.

Added resolved, initialized entrypoints for object region TLAB
allocator.

N6P (960000 mhz) EEAC benchmark (average of 50 samples):
CC 1442.309524 -> 1314 (10% improvement)
CMS: 1382.32

Read barrier slow paths reaching C++ code go from 5M to 2.5M.

Bug: 30162165
Bug: 12687968

Test: With CC: N6P boot, run EAAC, test-art-target

Change-Id: I51515b11ef3f795f57eb72fe0f5759618fef5084
runtime/arch/arm64/quick_entrypoints_arm64.S
runtime/arch/quick_alloc_entrypoints.S
runtime/asm_support.h
runtime/mirror/class-inl.h
runtime/mirror/class.h