RFR: Integration from jdk/jdk
Roman Kennke
rkennke at redhat.com
Mon Apr 9 22:29:23 UTC 2018
I've prepared integration from upstream jdk/jdk repository. The complete
list of changesets is here:
http://cr.openjdk.java.net/~rkennke/merge-2018-04-09/changesets
Of particular interest for Shenandoah are:
- 8198445: Access API for primitive/native arraycopy
- 8199620: Support for JNI object pinning
- 8199739: Use HeapAccess when loading oops from static fields in
javaClasses.cpp
- 8197844: JVMTI GetLoadedClasses should use the Access API
- 8198949: Modularize arraycopy stub routine GC barriers
All of these reduce our upstream exposure. More is in the pipeline (but
no yet in jdk/jdk at the time of merge).
Thanks Roland for helping with some C2 merge conflicts.
The new upstream base changeset is:
changeset: 49770:4f6887eade94
user: cushon
date: Thu Apr 05 14:39:04 2018 -0700
summary: 8201194: Handle local variable declarations in lambda
deduplication
Note that this will initially break aarch64, because it requires some
shuffling around of Shenandoah barriers (see
src/hotspot/cpu/x86/gc/shenandoah). I will do that as soon as I pushed
this merge. It would be cumbersome to transfer the whole merge over to
an aarch64 box beforehand.
Testing (some pending overnight):
- build all of slowdebug/fastdebug/release
- run specjvm with fastdebug and +ShenandoahVerify and
+CheckUnhandledOopsdOops to catch potential missing == barriers
- run hotspot_gc_shenandoah fastdebug+release
Full webrev:
http://cr.openjdk.java.net/~rkennke/merge-2018-04-09/webrev.00/
Ok to push (as soon as testing completes)?
Thanks, Roman
More information about the shenandoah-dev
mailing list