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

8263776: [JVMCI] add helper to perform Java upcalls #279

Closed

Conversation

@jerboaa
Copy link
Contributor

@jerboaa jerboaa commented Aug 23, 2021

Here is a backport for JDK-8263776. The patch doesn't apply cleanly since it uses features only introduced with JDK-8230199 (JDK 15+, not in OpenJDK 11u). This patch is the same labsopenjdk 11 uses. This patch is also needed for using graal js with plain OpenJDK.

Testing: test/hotspot/jtreg/compiler/jvmci and manual upstream Graal unit test.


Progress

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

Issue

  • JDK-8263776: [JVMCI] add helper to perform Java upcalls

Reviewers

Contributors

  • Tom Rodriguez <never@openjdk.org>

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk11u-dev pull/279/head:pull/279
$ git checkout pull/279

Update a local copy of the PR:
$ git checkout pull/279
$ git pull https://git.openjdk.java.net/jdk11u-dev pull/279/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 279

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

Using diff file

Download this PR as a diff file:
https://git.openjdk.java.net/jdk11u-dev/pull/279.diff

@jerboaa
Copy link
Contributor Author

@jerboaa jerboaa commented Aug 23, 2021

/contributor add never

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Aug 23, 2021

👋 Welcome back sgehwolf! 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 changed the title Backport 6b4c654186e49528eeae7249fdcd0f2d1a98b3ad 8263776: [JVMCI] add helper to perform Java upcalls Aug 23, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Aug 23, 2021

This backport pull request has now been updated with issue from the original commit.

@openjdk
Copy link

@openjdk openjdk bot commented Aug 23, 2021

@jerboaa
Contributor Tom Rodriguez <never@openjdk.org> successfully added.

@mlbridge
Copy link

@mlbridge mlbridge bot commented Aug 23, 2021

Webrevs

@jerboaa
Copy link
Contributor Author

@jerboaa jerboaa commented Aug 23, 2021

I'm pretty sure the GHA tier1 failure of gc/stress/gcold/TestGCOldWithCMS.java on Linux x86 is unrelated as this is an JVMCI only change.

Copy link
Contributor

@shipilev shipilev left a comment

I have questions :)

src/hotspot/share/jvmci/jvmciRuntime.cpp Outdated Show resolved Hide resolved
src/hotspot/share/jvmci/jvmciRuntime.cpp Outdated Show resolved Hide resolved
src/hotspot/share/jvmci/jvmciRuntime.cpp Outdated Show resolved Hide resolved
@shipilev
Copy link
Contributor

@shipilev shipilev commented Aug 23, 2021

I'm pretty sure the GHA tier1 failure of gc/stress/gcold/TestGCOldWithCMS.java on Linux x86 is unrelated as this is an JVMCI only change.

Yes, it looks like another instance of JDK-8272195.

@jerboaa
Copy link
Contributor Author

@jerboaa jerboaa commented Aug 24, 2021

@shipilev I've updated the patch to be similar to the mainline version now. Changes include:

  • Get rid of unused is_static boolean in ArgumentPusher
  • Get rid of unused expectedType in nextArg()
  • Use local variable return_type over calling jap.get_ret_type() repeatedly.
  • Use the same fall-through case for T_DOUBLE/T_LONG (value->j) and T_INT/T_FLOAT (value->i), which matches mainline.

Copy link
Contributor

@shipilev shipilev left a comment

All right, this looks good to me.

@openjdk
Copy link

@openjdk openjdk bot commented Aug 24, 2021

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

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

8263776: [JVMCI] add helper to perform Java upcalls

Co-authored-by: Tom Rodriguez <never@openjdk.org>
Reviewed-by: shade

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

  • b3c293c: 8219804: java/net/MulticastSocket/Promiscuous.java fails intermittently due to NumberFormatException
  • fb886e9: 8232782: Shenandoah: streamline post-LRB CAS barrier (aarch64)
  • 5a539db: 8249548: backward focus traversal gets stuck in button group
  • da90fbb: 8265756: AArch64: initialize memory allocated for locals according to Windows AArch64 stack page growth requirement in template interpreter
  • f334c2e: 8263136: C4530 was reported from VS 2019 at access bridge
  • 13ddf0e: 8261072: AArch64: Fix MacroAssembler::get_thread convention
  • 4699467: 8248816: C1: Fix signature conflict in LIRGenerator::strength_reduce_multiply
  • 4a3afd7: 8248657: Windows: strengthening in ThreadCritical regarding memory model
  • 8afb159: 8250824: AArch64: follow up for JDK-8248414
  • 6a6e00e: 8255790: GTKL&F: Java 16 crashes on initialising GTKL&F on Manjaro Linux
  • ... and 10 more: https://git.openjdk.java.net/jdk11u-dev/compare/ba097caea1d491054e2a89ce5a3c0b06173ac96d...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 Aug 24, 2021
@jerboaa
Copy link
Contributor Author

@jerboaa jerboaa commented Aug 24, 2021

Thanks for the review!

@jerboaa
Copy link
Contributor Author

@jerboaa jerboaa commented Aug 25, 2021

/integrate

@openjdk
Copy link

@openjdk openjdk bot commented Aug 25, 2021

Going to push as commit 3bc2275.
Since your change was applied there have been 22 commits pushed to the master branch:

  • 7539e75: 8272700: [macos] Build failure with Xcode 13.0 after JDK-8264848
  • c55b1e5: 8213718: [TEST] Wrong classname in vmTestbase/nsk/stress/except/except002 and except003
  • b3c293c: 8219804: java/net/MulticastSocket/Promiscuous.java fails intermittently due to NumberFormatException
  • fb886e9: 8232782: Shenandoah: streamline post-LRB CAS barrier (aarch64)
  • 5a539db: 8249548: backward focus traversal gets stuck in button group
  • da90fbb: 8265756: AArch64: initialize memory allocated for locals according to Windows AArch64 stack page growth requirement in template interpreter
  • f334c2e: 8263136: C4530 was reported from VS 2019 at access bridge
  • 13ddf0e: 8261072: AArch64: Fix MacroAssembler::get_thread convention
  • 4699467: 8248816: C1: Fix signature conflict in LIRGenerator::strength_reduce_multiply
  • 4a3afd7: 8248657: Windows: strengthening in ThreadCritical regarding memory model
  • ... and 12 more: https://git.openjdk.java.net/jdk11u-dev/compare/ba097caea1d491054e2a89ce5a3c0b06173ac96d...master

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot closed this Aug 25, 2021
@openjdk openjdk bot added integrated and removed ready rfr labels Aug 25, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Aug 25, 2021

@jerboaa Pushed as commit 3bc2275.

💡 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
2 participants