Happy path
Aleksey Shipilev
shade at redhat.com
Thu Mar 15 10:45:10 UTC 2018
On 03/15/2018 10:16 AM, Roland Westrelin wrote:
>
> Here is a follow up patch:
>
> http://cr.openjdk.java.net/~roland/shenandoah/happypath/webrev.01/
Nice!
A few observations:
*) Matrix pre-barriers are still being eliminated from the happy path. hotspot_gc_shenandoah fails
because of that with partial heuristics. Fixing that probably rewires the patch a bit.
*) On the ye-old SpscQueue benchmark, and this is how it looks with the patch:
http://cr.openjdk.java.net/~shade/shenandoah/happy-path/happypath-1.perfasm
It does coalescing well on non-membar paths. There are things to improve, e.g. back-to-back tests:
0.00% 0.02% │╰│││ 0x00007f8ab0b717f2: jmpq 0x00007f8ab0b7176f
1.88% 2.40% ↘ │││ 0x00007f8ab0b717f7: cmpb $0x0,0x400(%r15)
0.21% 0.31% │││ 0x00007f8ab0b717ff: jne 0x00007f8ab0b71871
0.00% 0.00% │││ 0x00007f8ab0b71801: cmpb $0x0,0x400(%r15)
0.67% 0.82% │││ 0x00007f8ab0b71809: jne 0x00007f8ab0b71889
1.88% 2.15% │││ 0x00007f8ab0b7180b: mov %r12d,0x10(%rcx,%r14,4)
2.19% 2.27% │││ 0x00007f8ab0b71810: cmpb $0x0,0x400(%r15)
0.01% 0.00% ╰││ 0x00007f8ab0b71818: je 0x00007f8ab0b71730
││ 0x00007f8ab0b7181e: testb $0x34,0x400(%r15)
╰│ 0x00007f8ab0b71826: je 0x00007f8ab0b71720
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list