Happy path

Aleksey Shipilev shade at redhat.com
Thu Apr 26 10:19:25 UTC 2018


On 04/25/2018 05:02 PM, Aleksey Shipilev wrote:
> On 04/25/2018 04:45 PM, Roland Westrelin wrote:
>> Here is a new webrev:
>>
>> http://cr.openjdk.java.net/~roland/shenandoah/happypath-nocoalescing/webrev.00/
> 
> *) I think you meant to use "mask" in ShenandoahWriteBarrierNode::is_heap_state_test(Node*, int) here:
> 
>  584   if (in2->find_int_con(-1) != (ShenandoahHeap::EVACUATION | ShenandoahHeap::PARTIAL |
> ShenandoahHeap::TRAVERSAL)) {
> 
> Let me run a few performance tests to look for problems.

Overnight performance runs identify no problems, and we have these improvements:
  Compiler.sunflow: +2.2%
  Compress:         +2.3%
  Derby:            +1%
  ScimarkLU.large:  +6%
  ScimarkLU.small:  +8%
  Serial:           +2%
  XmlTransform:     +1.6%
  XmlValidation:    +4.7%

There are, however, some interesting cases with barrier merging. For example, BarrierMultiplePrim
test from gc-bench [1] indicates the back-to-back WB coalescing is broken:
  http://cr.openjdk.java.net/~shade/shenandoah/happy-path-wb/baseline.perfasm
  http://cr.openjdk.java.net/~shade/shenandoah/happy-path-wb/happy.perfasm

-Aleksey

[1]
https://icedtea.classpath.org/hg/gc-bench/file/99bdce815ba3/src/main/java/org/openjdk/gcbench/wip/BarriersMultiplePrim.java



More information about the shenandoah-dev mailing list