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

8254156: Simplify ABI classification logic #371

Closed

Conversation

mcimadamore
Copy link
Collaborator

@mcimadamore mcimadamore commented Oct 7, 2020

This patch reverts recent changes to introduce a public CValueLayout class; the realization here is that, after all, CValueLayout exposes a public Type enum which is used by ABI classification. So, instead of using subclassing (which is messy and tedious with immutable data structures with covariant overrides), let's just double down on layout attributes, get rid of CValueLayout and simply expose the Type enum (now renamed to TypeKind).


Progress

  • Change must not contain extraneous whitespace
  • Change must be properly reviewed

Testing

Linux x64 Windows x64 macOS x64
Build ✔️ (3/3 passed) ✔️ (2/2 passed) ✔️ (2/2 passed)
Test (tier1) ✔️ (9/9 passed) (5/9 running) ✔️ (9/9 passed)

Issue

Reviewers

Download

$ git fetch https://git.openjdk.java.net/panama-foreign pull/371/head:pull/371
$ git checkout pull/371

Remove CValueLayout
Simplify ABI classification by just exposing single TypeKind enum
@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Oct 7, 2020

👋 Welcome back mcimadamore! A progress list of the required criteria for merging this PR into foreign-abi 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 Oct 7, 2020
@openjdk
Copy link

@openjdk openjdk bot commented Oct 7, 2020

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

8254156: Simplify ABI classification logic

Reviewed-by: jvernee

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 foreign-abi 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 foreign-abi branch, type /integrate in a new comment.

@openjdk openjdk bot added the ready label Oct 7, 2020
@mlbridge
Copy link

@mlbridge mlbridge bot commented Oct 7, 2020

Webrevs

@mcimadamore
Copy link
Collaborator Author

@mcimadamore mcimadamore commented Oct 7, 2020

/integrate

@openjdk openjdk bot closed this Oct 7, 2020
@openjdk openjdk bot added integrated and removed ready rfr labels Oct 7, 2020
@openjdk
Copy link

@openjdk openjdk bot commented Oct 7, 2020

@mcimadamore Pushed as commit 6663aab.

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

/**
* A kind corresponding to the a C pointer type
*/
POINTER(false);

Choose a reason for hiding this comment

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

Pointer or pointer-sized? We'd also use this one for size_t for instance, right?

Copy link
Collaborator Author

@mcimadamore mcimadamore Oct 8, 2020

Choose a reason for hiding this comment

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

This is pointer; e.g. values of this layout will be associated with the MemoryAddress.class carrier. So, no, for size_t, you need something different (either LONG or LONGLONG, depending on the platform). We could probably add a SIZE_T in there, since it's frequent enough.

@mcimadamore mcimadamore deleted the simpler-classification_abi branch Nov 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
integrated
3 participants