JDK-8241069 : Shenandoah: improve Traversal support for suspendible workers
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 8-shenandoah,11-shenandoah,14,15
  • Priority: P4
  • Status: Closed
  • Resolution: Won't Fix
  • Submitted: 2020-03-16
  • Updated: 2020-04-14
  • Resolved: 2020-04-14
Related Reports
Relates :  
Description
This blocks the removal/defaulting of ShenandoahSuspendibleWorkers. It is currently set at "false", and normal heuristics enables it to "true". Traversal GC code handles it half-heartedly, with having ShenandoahSuspendibleThreadSetJoiner scopes at interesting places, but defining the actual yields as:

bool ShenandoahTraversalGC::check_and_handle_cancelled_gc(TaskTerminator* terminator, bool sts_yield) {
  if (_heap->cancelled_gc()) {
    return true;
  }
  return false;
}

This was found by static analyzers that complained both arguments are unused.
Comments
Not needed after Traversal removal (JDK-8242082).
14-04-2020