Skip to content

8306851: Move Method access flags #13654

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

Closed
wants to merge 6 commits into from
Closed

Conversation

coleenp
Copy link
Contributor

@coleenp coleenp commented Apr 25, 2023

This change moves the flags from AccessFlags to either ConstMethodFlags or MethodFlags, depending on whether they are set at class file parse time, which makes them essentially const, or at runtime, which makes them needing atomic access.

This leaves AccessFlags int size because Klass still has JVM flags that are more work to move, but this change doesn't increase Method size. I didn't remove JVM_RECOGNIZED_METHOD_MODIFIERS with this change since there are several of these in other places, and with this change the code is benign.

Tested with tier1-6, and some manual verification of printing.


Progress

  • Change must be properly reviewed (1 review required, with at least 1 Reviewer)
  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue

Issue

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/13654/head:pull/13654
$ git checkout pull/13654

Update a local copy of the PR:
$ git checkout pull/13654
$ git pull https://git.openjdk.org/jdk.git pull/13654/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 13654

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

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/13654.diff

Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Apr 25, 2023

👋 Welcome back coleenp! 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.

@openjdk
Copy link

openjdk bot commented Apr 25, 2023

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

  • hotspot
  • serviceability

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.

@openjdk openjdk bot added serviceability serviceability-dev@openjdk.org hotspot hotspot-dev@openjdk.org labels Apr 25, 2023
@coleenp coleenp marked this pull request as ready for review April 26, 2023 15:49
@openjdk openjdk bot added the rfr Pull request is ready for review label Apr 26, 2023
@openjdk
Copy link

openjdk bot commented Apr 26, 2023

@coleenp Please do not rebase or force-push to an active PR as it invalidates existing review comments. Note for future reference, the bots always squash all changes into a single commit automatically as part of the integration. See OpenJDK Developers’ Guide for more information.

@mlbridge
Copy link

mlbridge bot commented Apr 26, 2023

Webrevs

Copy link
Contributor

@plummercj plummercj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The SA changes look good. I think these changes make @iklam's #13663 fix unnecessary, but harmless.

@openjdk
Copy link

openjdk bot commented Apr 26, 2023

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

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

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

8306851: Move Method access flags

Reviewed-by: cjplummer, dholmes, dnsimon, matsaave, fparain

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 65 new commits pushed to the master branch:

  • 05af487: 8306681: Open source more AWT DnD related tests
  • ec5c792: 8306133: Open source few AWT Drag & Drop related tests
  • 6d6f726: 8307078: Opensource and clean up five more AWT Focus related tests
  • 89711f3: 8307079: Update test java/awt/Choice/DragOffNoSelect.java
  • 9ff5550: 8307077: Convert CRLF to LF in java.xml.crypto
  • f83e730: 8302983: ZoneRulesProvider.registerProvider() twice will remove provider
  • 82ccfe3: 8305975: Add TWCA Global Root CA
  • a177152: 8306331: assert((cnt > 0.0f) && (prob > 0.0f)) failed: Bad frequency assignment in if
  • e119658: 8303475: potential null pointer dereference in filemap.cpp
  • cf799ba: 8306950: [REDO] JDK-8305252 make_method_handle_intrinsic may call java code under a lock
  • ... and 55 more: https://git.openjdk.org/jdk/compare/00b1eacad6ae2d5ea5afb1de506768e9ab960743...master

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 Pull request is ready to be integrated label Apr 26, 2023
@coleenp
Copy link
Contributor Author

coleenp commented Apr 26, 2023

Thanks Chris. We were wondering what to do with JVM_RECOGNIZED_METHOD_MODIFIERS but we'll clean them up in another pass.

Copy link
Member

@dholmes-ora dholmes-ora left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

General idea is good but I have some issues with naming inconsistencies. A few other queries.

Thanks.

@coleenp
Copy link
Contributor Author

coleenp commented Apr 27, 2023

@dougxc can you look at the JVMCI changes?

Copy link
Member

@dholmes-ora dholmes-ora left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the updates. I understand about the fanout from making is naming fully consistent.

@dougxc
Copy link
Member

dougxc commented Apr 28, 2023

Thankfully all these changes only impact values read by JVMCI Java code and none in Graal Java code. Looks good to me.

Copy link
Contributor

@matias9927 matias9927 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice change! Just some small nits but it otherwise looks good.

Copy link
Contributor

@fparain fparain left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for all those cleanings!
Looks good to me.

Copy link
Contributor

@matias9927 matias9927 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thanks!

@coleenp
Copy link
Contributor Author

coleenp commented May 1, 2023

Thanks David, Chris, Doug, Matias and Fred for reviewing.
/integrate

@openjdk
Copy link

openjdk bot commented May 1, 2023

Going to push as commit 316d303.
Since your change was applied there have been 78 commits pushed to the master branch:

  • a6b4f25: 8306825: Monitor deflation might be accidentally disabled by zero intervals
  • 2d7c507: 8305778: javax/swing/JTableHeader/6884066/bug6884066.java: Unexpected header's value; index = 4 value = E
  • e1b06ea: 8305780: javax/swing/JTable/7068740/bug7068740.java fails on Ubunutu 20.04
  • b54c4a3: 8299713: Test javax/swing/JTableHeader/6889007/bug6889007.java failed: Wrong type of cursor
  • b3dbf28: 8292275: javac does not emit SYNTHETIC and MANDATED flags for parameters by default
  • 6d6d00b: 8306954: Open source five Focus related tests
  • bb7608b: 8307088: Allow the jdbc.drivers system property to be searchable
  • a2d3fc8: 8304837: Classfile API throws IOOBE for MethodParameters attribute without parameter names
  • d43a5a2: 8307135: java/awt/dnd/NotReallySerializableTest/NotReallySerializableTest.java failed
  • 1f68924: 8306955: Open source several JComboBox jtreg tests
  • ... and 68 more: https://git.openjdk.org/jdk/compare/00b1eacad6ae2d5ea5afb1de506768e9ab960743...master

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot added the integrated Pull request has been integrated label May 1, 2023
@openjdk openjdk bot closed this May 1, 2023
@openjdk openjdk bot removed ready Pull request is ready to be integrated rfr Pull request is ready for review labels May 1, 2023
@openjdk
Copy link

openjdk bot commented May 1, 2023

@coleenp Pushed as commit 316d303.

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

@coleenp coleenp deleted the method-flags branch May 1, 2023 11:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hotspot hotspot-dev@openjdk.org integrated Pull request has been integrated serviceability serviceability-dev@openjdk.org
Development

Successfully merging this pull request may close these issues.

6 participants