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

8317352: [Lilliput] Sync with upstreaming PRs #110

Closed
wants to merge 11 commits into from

Conversation

rkennke
Copy link
Collaborator

@rkennke rkennke commented Oct 9, 2023

This PR syncs the Lilliput mainline repo with the changes that we are proposing in the upstreaming PRs. We have accumulated a number of diversions. Ideally, the Lilliput repo should mirror what is proposed for upstreaming, except where it integrates the upstreaming PRs in various places.

Notable changes:

  • Removed leftovers from Klass encoding removal
  • Removed heap object stats. This is currently better done by JOL.
  • Sliding GC template optimizations and fallback for G1
  • Re-enabled many tests

There is a remaining problem with CDS (the changes in archiveBuilder.cpp) which affect only Windows, which I am sorting out separately.

Testing:

  • All changed tests +UCOH
  • All changed tests -UCOH
  • tier1 x86_64 +UCOH
  • tier1 x86_64 -UCOH
  • tier1 aarch64 +UCOH
  • tier1 aarch64 -UCOH
  • tier2 x86_64 +UCOH
  • tier2 x86_64 -UCOH
  • tier2 aarch64 +UCOH
  • tier2 aarch64 -UCOH

Progress

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

Issue

  • JDK-8317352: [Lilliput] Sync with upstreaming PRs (Bug - P4)

Reviewers

Reviewing

Using git

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

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

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 110

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

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/lilliput/pull/110.diff

Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Oct 9, 2023

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

@rkennke rkennke marked this pull request as ready for review October 10, 2023 09:50
@openjdk openjdk bot added the rfr Pull request is ready for review label Oct 10, 2023
@mlbridge
Copy link

mlbridge bot commented Oct 10, 2023

Webrevs

Copy link
Member

@shipilev shipilev left a comment

Choose a reason for hiding this comment

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

This looks okay, but I have a question that I think I asked before:

%{
predicate(UseCompactObjectHeaders);
match(Set dst (LoadNKlass mem));
effect(KILL cr);
ins_cost(125); // XXX
format %{ "movl $dst, $mem\t# compressed klass ptr" %}
ins_encode %{
assert($mem$$disp == oopDesc::klass_offset_in_bytes(), "expect correct offset 4, but got: %d", $mem$$disp);
assert($mem$$disp == TypeOopPtr::klass_offset_in_bytes(), "expect correct offset 4, but got: %d", $mem$$disp);
Copy link
Member

Choose a reason for hiding this comment

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

Haven't we decided to avoid changing oopDesc::klass_offset_in_bytes to TypeOopPtr::klass_offset_in_bytes? I remember this discussion, but cannot find the reference it it right now.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Right. That was in Lilliput 21 (and/or 17). Shall we also get rid of the extra assert that the change provides us here? And also in the upstreaming PR openjdk/jdk#13961?

@openjdk
Copy link

openjdk bot commented Oct 10, 2023

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

8317352: [Lilliput] Sync with upstreaming PRs

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 no new commits pushed to the master branch. If another commit should be pushed before you perform the /integrate command, your PR will be automatically rebased. If you prefer to avoid any potential 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 Oct 10, 2023
@rkennke
Copy link
Collaborator Author

rkennke commented Oct 11, 2023

Thanks!

/integrate

@openjdk
Copy link

openjdk bot commented Oct 11, 2023

Going to push as commit 39f08e7.

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

openjdk bot commented Oct 11, 2023

@rkennke Pushed as commit 39f08e7.

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

@rkennke rkennke mentioned this pull request Oct 11, 2023
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
integrated Pull request has been integrated
2 participants