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

8262508: Vector API's ergonomics is incorrect #2771

Closed
wants to merge 2 commits into from

Conversation

DamonFool
Copy link
Member

@DamonFool DamonFool commented Mar 1, 2021

Hi all,

The ergonomics (e.g., EnableVectorReboxing/EnableVectorAggressiveReboxing) for Vector API doesn't work as expected.

There are two sets of rules for Vector API.
One is in Arguments::apply_ergo() [1], which sets the flags to be false.
And the other is in Modules::define_module() [2], which sets the flags to be true.

The value of EnableVectorReboxing and EnableVectorAggressiveReboxing may be changed (from specified true to false) in [1] if EnableVectorSupport=false (which is the default value).
It would be wrong when EnableVectorSupport isn't specified in the command line since it will be set true later in [2]
So rules in [1] should not be executed if EnableVectorSupport isn't specified.

Thanks.
Best regards,
Jie

[1] https://github.com/openjdk/jdk/blob/master/src/hotspot/share/runtime/arguments.cpp#L4081
[2] https://github.com/openjdk/jdk/blob/master/src/hotspot/share/classfile/modules.cpp#L462


Progress

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

Issue

Reviewers

Download

$ git fetch https://git.openjdk.java.net/jdk pull/2771/head:pull/2771
$ git checkout pull/2771

@DamonFool
Copy link
Member Author

@DamonFool DamonFool commented Mar 1, 2021

/issue add JDK-8262508
/test
/label add hotspot-compiler
/cc hotspot-compiler

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Mar 1, 2021

👋 Welcome back jiefu! 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 openjdk bot added the rfr label Mar 1, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Mar 1, 2021

@DamonFool This issue is referenced in the PR title - it will now be updated.

@openjdk openjdk bot added the hotspot-compiler label Mar 1, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Mar 1, 2021

@DamonFool
The hotspot-compiler label was successfully added.

@openjdk
Copy link

@openjdk openjdk bot commented Mar 1, 2021

@DamonFool The hotspot-compiler label was already applied.

@mlbridge
Copy link

@mlbridge mlbridge bot commented Mar 1, 2021

Webrevs

@DamonFool
Copy link
Member Author

@DamonFool DamonFool commented Mar 3, 2021

Could someone help to review this change?
Thanks.

Copy link

@iwanowww iwanowww left a comment

Looks good.

Thanks for fixing it.

@openjdk
Copy link

@openjdk openjdk bot commented Mar 3, 2021

@DamonFool 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:

8262508: Vector API's ergonomics is incorrect

Reviewed-by: vlivanov

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

  • 1d2c1e6: 8248314: Parallel: Parallelize parallel full gc Adjust Roots phase
  • 3d3eb5c: 8262368: wrong verifier message for bogus return type
  • 6d3c858: 8259235: javac crashes while attributing super method invocation
  • bf90e85: 8262926: JDK-8260966 broke AIX build
  • 54dfd79: 8262256: C2 intrinsincs should not modify IR when bailing out
  • 0265ab6: 8262466: linux libsaproc/DwarfParser.cpp delete DwarfParser object in early return
  • c15801e: 8261142: AArch64: Incorrect instruction encoding when right-shifting vectors with shift amount equals to the element width
  • 044e2a2: 8183569: Assert the same limits are used in parse_xss and globals.hpp
  • 5de0f4b: 8260869: Test java/foreign/TestHandshake.java fails intermittently
  • c9097a6: 8262893: Enable more doclint checks in javadoc build
  • ... and 36 more: https://git.openjdk.java.net/jdk/compare/03d888f463c0a6e3fee70ed8ad606fc0a3082636...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 label Mar 3, 2021
@DamonFool
Copy link
Member Author

@DamonFool DamonFool commented Mar 3, 2021

Looks good.

Thanks for fixing it.

Thanks @iwanowww for your review.

Will push it tomorrow if there is no other comment.
Thanks.

@DamonFool
Copy link
Member Author

@DamonFool DamonFool commented Mar 4, 2021

/integrate

@openjdk openjdk bot closed this Mar 4, 2021
@openjdk openjdk bot added integrated and removed ready rfr labels Mar 4, 2021
@DamonFool DamonFool deleted the JDK-8262508 branch Mar 4, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Mar 4, 2021

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

  • 718d4d4: 8262989: Vectorize VectorShuffle checkIndexes, wrapIndexes and laneIsValid methods
  • c8b23e2: 8262064: Make compiler/ciReplay tests ignore lambdas in compilation replay
  • 02fbcb5: 8261532: Archived superinterface class cannot be accessed
  • 109af7b: 8261518: jpackage looks for main module in current dir when there is no module-path
  • e61a3ba: 8239386: handle ContendedPaddingWidth in vm_version_aarch64
  • f56c918: 8262837: handle split_USE correctly
  • bd1a806: 8263040: fix for JDK-8262122 fails validate-source
  • a6427c8: 8259709: Disable SHA-1 XML Signatures
  • ef5e13d: 8263030: Remove Shenandoah leftovers from ReferenceProcessor
  • 222a17e: 8262122: [TESTBUG] Shenandoah-specific variant of TestReferenceRefersTo
  • ... and 62 more: https://git.openjdk.java.net/jdk/compare/03d888f463c0a6e3fee70ed8ad606fc0a3082636...master

Your commit was automatically rebased without conflicts.

Pushed as commit 351889f.

💡 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
Labels
hotspot-compiler integrated
2 participants