summaryrefslogtreecommitdiff
path: root/compiler/optimizing/codegen_test.cc
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2016-08-31 09:38:40 -0700
committerMathieu Chartier <mathieuc@google.com>2016-08-31 18:32:33 -0700
commit93bbee0c1c97bd9a5336ed0c9e41cd17613df585 (patch)
tree7f2fe8d9ec240b34e7ee153b95e69b821554ab7e /compiler/optimizing/codegen_test.cc
parent1c29876b303ab392e615b2294db009a971613bea (diff)
Faster allocation fast path
Added a new object size field to class, this field contains the aligned object size if the object is not finalizable and is initialized. If the object is finalizable or uninitialized the field is set to some large value that forces the ASM allocators to go slow path. Only implemented for region/normal TLAB for now, will add the to RosAlloc stubs soon. CC N6P MemAllocTest: 1067 -> 1039 (25 samples) CC N6P EAAC: 1281 -> 1260 (25 samples) RAM overhead technically 0 since mirror::Class was not 8 byte aligned previously. Since the allocators require 8 byte allignment, there would have been 1 word of padding at the end of the class. If there was actually 4 extra bytes per class, the system overhead would be 36000 * 4 = 120KB based on old N6P numbers for the number of loaded classes after boot. Bug: 9986565 Test: test-art-host CC baker, N6P phone boot and EAAC runs. Change-Id: I119a87b8cc6c980bff980a0c62f42610dab5e531
Diffstat (limited to 'compiler/optimizing/codegen_test.cc')
0 files changed, 0 insertions, 0 deletions