JDK-8223240 : Extend arraycopy stub GC interface to allow GC replacement of the whole loop
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 13
  • Priority: P4
  • Status: Resolved
  • Resolution: Withdrawn
  • OS: generic
  • CPU: x86_64,aarch64
  • Submitted: 2019-05-02
  • Updated: 2019-09-16
  • Resolved: 2019-09-16
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdResolved
Related Reports
Blocks :  
Blocks :  
Duplicate :  
Duplicate :  
Description
Currently, when doing oop arraycopy from C2 and C1, we call into runtime for pre-barrier, then do the arraycopy as fast-blt-loop, then call into runtime again for post-barrier.

In Shenandoah we would like to call into runtime once, and do the arraycopy in a single-loop, when GC is active, and only do the fast-blt-loop outside of GC.

This requires some GC interface changes to allow skipping the fast-loop when it's not needed, and to also pass the element type for doing the arraycopy loop and checkcasts in runtime.
Comments
Currently not needed anymore. JDK-8231086 implements a better arraycopy-barrier-scheme for Shenandoah that can use the current GC interfaces.
16-09-2019