Integrated: 8288129: Shenandoah: Skynet test crashed with iu + aggressive

Ashutosh Mehra duke at openjdk.org
Wed Sep 21 14:31:31 UTC 2022


On Tue, 30 Aug 2022 23:40:32 GMT, Ashutosh Mehra <duke at openjdk.org> wrote:

> Another attempt to fix the crash when running Loom with Shenandoah in iu+aggressive mode.
> 
> Explanation for the problem can be seen in https://github.com/openjdk/jdk/pull/9982#issue-1348107961 but instead of adding barriers for the oops in stack chunk header in `do_barriers()`, this fix uses Access API (`oopDesc::obj_field_put_access`) with `IS_DEST_UNINITIALIZED` decorator as suggested in https://github.com/openjdk/jdk/pull/9982#issuecomment-1231843259. The Access API invokes appropriate barriers based on the GC policy and the decorator. For SATB barriers it is a no-op. For IU mode it invokes the iu write barrier.
> The Access API is same as in ZGC [1], [2]
> 
> [1] https://github.com/openjdk/zgc/blob/f0b25d9339104a80f903d889a7939dd623c76867/src/hotspot/share/oops/oop.inline.hpp#L215
> [2] https://github.com/openjdk/zgc/blob/f0b25d9339104a80f903d889a7939dd623c76867/src/hotspot/share/classfile/javaClasses.inline.hpp#L286
> 
> Test with fastdebug build:
> 
> - [x] hotspot_loom
> - [x] jdk_loom
> - [x] hotspot_loom in Shenandoah IU mode
> - [x] jdk_loom in Shenandoah IU mode
> - [x] hotspot_loom in Shenandoah IU + aggressive
> - [x] jdk_loom in Shenandoah IU + aggressive
> 
> Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>

This pull request has now been integrated.

Changeset: 84d7ff64
Author:    Ashutosh Mehra <asmehra at redhat.com>
Committer: Andrew Dinn <adinn at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/84d7ff64d86388cc60cd8257b7b1fb5a6e8c6804
Stats:     36 lines in 9 files changed: 27 ins; 3 del; 6 mod

8288129: Shenandoah: Skynet test crashed with iu + aggressive

Reviewed-by: eosterlund, rkennke

-------------

PR: https://git.openjdk.org/jdk/pull/10089


More information about the hotspot-dev mailing list