Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8266851: Implement JEP 403: Strongly Encapsulate JDK Internals #4015

wants to merge 4 commits into from


Copy link

@mbreinhold mbreinhold commented May 13, 2021

Please review this implementation of JEP 403 (
Alan Bateman is the original author of almost all of it. Passes tiers 1-3 on
{linux,macos,windows}-x64 and {linux,macos}-aarch64.


  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • Change must be properly reviewed


  • JDK-8266851: Implement JEP 403: Strongly Encapsulate JDK Internals



  • Alan Bateman <>


Using git

Checkout this PR locally:
$ git fetch pull/4015/head:pull/4015
$ git checkout pull/4015

Update a local copy of the PR:
$ git checkout pull/4015
$ git pull pull/4015/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 4015

View PR using the GUI difftool:
$ git pr show -t 4015

Using diff file

Download this PR as a diff file:

Copy link
Member Author

@mbreinhold mbreinhold commented May 13, 2021


Copy link
Member Author

@mbreinhold mbreinhold commented May 13, 2021

/contributor add alanb

Copy link

@bridgekeeper bridgekeeper bot commented May 13, 2021

👋 Welcome back mr! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

Copy link

@openjdk openjdk bot commented May 13, 2021

@mbreinhold this pull request will not be integrated until the CSR request JDK-8266852 for issue JDK-8266851 has been approved.

Copy link

@openjdk openjdk bot commented May 13, 2021

Contributor Alan Bateman <> successfully added.

Copy link

@openjdk openjdk bot commented May 13, 2021

@mbreinhold The following labels will be automatically applied to this pull request:

  • core-libs
  • hotspot-runtime

When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing lists. If you would like to change these labels, use the /label pull request command.

Copy link

@mlbridge mlbridge bot commented May 13, 2021

Copy link

@mlchung mlchung commented May 13, 2021

There are a few tests with --illegal-access=deny for example

test/jdk/java/lang/reflect/AccessibleObject/ - a few tests

It would be good to remove these references to --illegal-access option in this patch too.

@openjdk openjdk bot removed the csr label May 13, 2021
Copy link
Member Author

@mbreinhold mbreinhold commented May 13, 2021

@mlchung Thanks for pointing out those stray uses of --illegal-access. I’ve removed them, along with the mention of --illegal-access in

Copy link

@mlchung mlchung left a comment

Looks good.

Copy link

@openjdk openjdk bot commented May 13, 2021

@mbreinhold This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file for details.

After integration, the commit message for the final commit will be:

8266851: Implement JEP 403: Strongly Encapsulate JDK Internals

Co-authored-by: Alan Bateman <>
Reviewed-by: mchung, alanb, hseigel

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been 80 new commits pushed to the master branch:

  • 64e2479: 8267407: ProblemList vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/ on linux-aarch64
  • 9760dba: 8267321: Use switch expression for VarHandle$AccessMode lookup
  • fdd0352: 8267338: [JVMCI] revive JVMCI API removed by JDK-8243287
  • 0b49f5a: 8267257: Shenandoah: Always deduplicate strings when it is enabled during full gc
  • 12050f0: 8266651: Convert Table method parameters from String to Content
  • e749f75: 8267304: Bump global JTReg memory limit to 768m
  • e858dd6: 8267361: JavaTokenizer reads octal numbers mistakenly
  • 1b93b81: 8267133: jdk/jfr/event/gc/collection/ fails with Not expected phases: RestorePreservedMarks, RemoveSelfForwardingPtr: expected true, was false
  • 88b1142: 8267357: build breaks with -Werror option on micro benchmark added for JDK-8256973
  • 6ef46ce: 8231672: Simplify the reference processing parallelization framework
  • ... and 70 more:

As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.

➡️ To integrate this PR with the above commit message to the master branch, type /integrate in a new comment.

@openjdk openjdk bot added the ready label May 13, 2021
Copy link

@AlanBateman AlanBateman left a comment

The changes look good.

I searched the test and src trees for other remaining usages "--illegal-access" and didn't find any more (except for localized resources).

It's likely that some of the updated tests no longer need "/othervm". It would need a close inspection of each test to see if it still needed.

Copy link

@hseigel hseigel left a comment

Hotspot changes look good.
Thanks, Harold

Copy link
Member Author

@mbreinhold mbreinhold commented May 26, 2021


@openjdk openjdk bot closed this May 26, 2021
@openjdk openjdk bot added integrated and removed ready labels May 26, 2021
@openjdk openjdk bot removed the rfr label May 26, 2021
Copy link

@openjdk openjdk bot commented May 26, 2021

@mbreinhold Since your change was applied there have been 177 commits pushed to the master branch:

  • 8c4719a: 8265248: Implementation Specific Properties: change prefix, plus add existing properties
  • c59484e: 8267653: Remove Mutex::_safepoint_check_sometimes
  • de91643: 8267611: Print more info when pointer_delta assert fails
  • a4c46e1: 8263202: Update Hebrew/Indonesian/Yiddish ISO 639 language codes to current
  • 9c346a1: 8266963: Remove safepoint poll introduced in 8262443 due to reentrance issue
  • 45e0597: 8264302: Create implementation for Accessibility native peer for Splitpane java role
  • 4343997: 8267708: Remove references to**
  • f632254: 8267221: jshell feedback is incorrect when creating method with array varargs parameter
  • bf8d4a8: 8267583: jmod fails on symlink to class file
  • 083416d: 8267130: Memory Overflow in Disassembler::load_library
  • ... and 167 more:

Your commit was automatically rebased without conflicts.

Pushed as commit e630235.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
4 participants