heap: Further optimize write barrier path during GC
- Avoid looking up GCInfo and one word in memory when pushing an object that was discovered through the write barrier. - Use already existing branch for regular and large objects to compute size, assuming that the object will be marked. Output on Z840 (down from ~17x): [ RUN ] WriteBarrierPerfTest.MemberWritePerformance *RESULT WriteBarrierPerfTest writes during GC: = 36403.349108117945 writes/ms *RESULT WriteBarrierPerfTest writes outside GC: = 476190.4761904762 writes/ms *RESULT WriteBarrierPerfTest relative speed difference: = 13.08095238095238 times [ OK ] WriteBarrierPerfTest.MemberWritePerformance (29 ms) Bug: 1014414 Change-Id: I2c915edd1607bc839ea0478891971d23496b2678 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1865344Reviewed-by:Omer Katz <omerkatz@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Reviewed-by:
Kentaro Hara <haraken@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#707469}
Showing
Please register or sign in to comment