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

8323122: AArch64: Increase itable stub size estimate #17336

Closed
wants to merge 1 commit into from

Conversation

linade
Copy link
Contributor

@linade linade commented Jan 10, 2024

Since JDK-8307352, itable stub size has grown by 20 bytes on linux-aarch64. In particular, the "slop-counted" code increases from 100->120 bytes, where the current estimate is 124 bytes. I haven't found a case where it exceeds the estimate. For now this size is stable across the few linux-aarch64 configurations I ran with. It doesn't vary (for example) by different klass decoding schemes. But I think the idea of the estimate is that we can never know. I propose we increase the estimate to be safe.

Passed hotspot/jtreg/:tier1


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

  • JDK-8323122: AArch64: Increase itable stub size estimate (Enhancement - P4)

Reviewers

Reviewing

Using git

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

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

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 17336

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

Using diff file

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

Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Jan 10, 2024

👋 Welcome back linade! 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 Pull request is ready for review label Jan 10, 2024
@openjdk
Copy link

openjdk bot commented Jan 10, 2024

@linade The following label will be automatically applied to this pull request:

  • hotspot-compiler

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

@openjdk openjdk bot added the hotspot-compiler hotspot-compiler-dev@openjdk.org label Jan 10, 2024
@mlbridge
Copy link

mlbridge bot commented Jan 10, 2024

Webrevs

@linade
Copy link
Contributor Author

linade commented Jan 12, 2024

Can I get a review on this small patch please : )

@openjdk
Copy link

openjdk bot commented Jan 13, 2024

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

8323122: AArch64: Increase itable stub size estimate

Reviewed-by: aph, eastigeevich

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

  • 1f4474f: 8323726: Serial: Remove unused definitions in Generation
  • dd0694b: 8323671: DevKit build gcc libraries contain full paths to source location
  • bf813be: 8322279: Generational ZGC: Use ZFragmentationLimit and ZYoungCompactionLimit as percentage instead of multiples
  • c84c0ab: 8323637: Capture hotspot replay files in GHA
  • f368a0c: 8320328: Restore interrupted flag in ImageIcon.loadImage
  • a45b5b4: 8323722: Serial: Remove unused no_gc_in_progress
  • 7e0a4ed: 8323101: C2: assert(n->in(0) == nullptr) failed: divisions with zero check should already have bailed out earlier in split-if
  • 34f85ee: 8323584: AArch64: Unnecessary ResourceMark in NativeCall::set_destination_mt_safe
  • 62fd26f: 8323700: Add fontconfig requirement to building.md for Alpine Linux
  • 8c238ed: 8318707: Remove the Java Management Extension (JMX) Management Applet (m-let) feature
  • ... and 91 more: https://git.openjdk.org/jdk/compare/37a61720b60a503a958b35c422ca4f2eb06d62fb...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.

As you do not have Committer status in this project an existing Committer must agree to sponsor your change. Possible candidates are the reviewers of this PR (@theRealAph, @eastig) but any other Committer may sponsor as well.

➡️ To flag this PR as ready for integration with the above commit message, type /integrate in a new comment. (Afterwards, your sponsor types /sponsor in a new comment to perform the integration).

@openjdk openjdk bot added the ready Pull request is ready to be integrated label Jan 13, 2024
@linade
Copy link
Contributor Author

linade commented Jan 15, 2024

@theRealAph Do you mind sponsoring this change? Thank you.

/integrate

@openjdk openjdk bot added the sponsor Pull request is ready to be sponsored label Jan 15, 2024
@openjdk
Copy link

openjdk bot commented Jan 15, 2024

@linade
Your change (at version 4524693) is now ready to be sponsored by a Committer.

@shipilev
Copy link
Member

I think the patch is fine, but @eastig should also take a look.

Copy link
Member

@eastig eastig left a comment

Choose a reason for hiding this comment

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

lgtm

@eastig
Copy link
Member

eastig commented Jan 15, 2024

@linade This is not the first time estimates are updated. JDK-8207343 was implemented to automate vtable/itable stub size calculation. I think it needs improvements. I created JDK-8323741.

@linade
Copy link
Contributor Author

linade commented Jan 16, 2024

@eastig Thank you for reviewing. It seems to me that the size calculation can not be easily automated. But the overflow prevention might be, by somehow relocating the stubs (not sure if it's common or possible in hotspot).

@D-D-H
Copy link
Contributor

D-D-H commented Jan 16, 2024

/sponsor

@openjdk
Copy link

openjdk bot commented Jan 16, 2024

Going to push as commit 36f4b34.
Since your change was applied there have been 105 commits pushed to the master branch:

  • b363472: 8318227: RISC-V: C2 ConvHF2F
  • edc0ebb: 8323745: Missing comma in copyright header in TestScope
  • a03eb6d: 8321620: Optimize JImage decompressors
  • f5b757c: 8323159: Consider adding some text re. memory zeroing in Arena::allocate
  • 1f4474f: 8323726: Serial: Remove unused definitions in Generation
  • dd0694b: 8323671: DevKit build gcc libraries contain full paths to source location
  • bf813be: 8322279: Generational ZGC: Use ZFragmentationLimit and ZYoungCompactionLimit as percentage instead of multiples
  • c84c0ab: 8323637: Capture hotspot replay files in GHA
  • f368a0c: 8320328: Restore interrupted flag in ImageIcon.loadImage
  • a45b5b4: 8323722: Serial: Remove unused no_gc_in_progress
  • ... and 95 more: https://git.openjdk.org/jdk/compare/37a61720b60a503a958b35c422ca4f2eb06d62fb...master

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot added the integrated Pull request has been integrated label Jan 16, 2024
@openjdk openjdk bot closed this Jan 16, 2024
@openjdk openjdk bot removed ready Pull request is ready to be integrated rfr Pull request is ready for review sponsor Pull request is ready to be sponsored labels Jan 16, 2024
@openjdk
Copy link

openjdk bot commented Jan 16, 2024

@D-D-H @linade Pushed as commit 36f4b34.

💡 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 hotspot-compiler-dev@openjdk.org integrated Pull request has been integrated
Development

Successfully merging this pull request may close these issues.

5 participants