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
8264774: Implementation of Foreign Function and Memory API (Incubator) #3699
Conversation
|
@mcimadamore The following labels will be automatically applied to this pull request:
When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing lists. If you would like to change these labels, use the /label pull request command. |
Here we list the main changes introduced in this PR. As usual, a big thank to all who helped along the way: @ChrisHegarty, @iwanowww, @JornVernee, @PaulSandoz and @sundararajana. Managing memory segments:
|
/contributor add @PaulSandoz |
@mcimadamore |
/csr |
/contributor add @JornVernee |
/contributor add @iwanowww |
/contributor add @sundararajana |
/contributor add @ChrisHegarty |
@mcimadamore this pull request will not be integrated until the CSR request JDK-8264781 for issue JDK-8264774 has been approved. |
@mcimadamore |
@mcimadamore |
@mcimadamore |
@mcimadamore |
Webrevs
|
src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java
Outdated
Show resolved
Hide resolved
src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java
Outdated
Show resolved
Hide resolved
src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java
Outdated
Show resolved
Hide resolved
* Replace EntryBlob with OptimizedEntryBlob
Rename as_entry_blob to as_optimized_entry_blob Fix misc typos and indentation issues
Add MXCSR save and restore to upcall stubs for non-windows platforms
|
Remove unused code in Utils
* @implSpec | ||
* Implementations of this interface are immutable, thread-safe and <a href="{@docRoot}/java.base/java/lang/doc-files/ValueBased.html">value-based</a>. | ||
*/ | ||
public interface MemoryLayout extends Constable { | ||
public sealed interface MemoryLayout extends Constable permits AbstractLayout, SequenceLayout, GroupLayout, PaddingLayout, ValueLayout { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In principle we could just permit AbstractLayout and be done. In practice, the javadoc comes out better if we list all the concrete API interfaces which extend MemoryLayout, as the permit
list will be displayed in the javadoc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* Downgrade native methods in ProgrammableUpcallHandler to package-private
@mcimadamore this pull request can not be integrated into git checkout JEP-412
git fetch https://git.openjdk.java.net/jdk master
git merge FETCH_HEAD
# resolve conflicts and follow the instructions given by git merge
git commit -m "Merge master"
git push |
/integrate |
@mcimadamore Since your change was applied there have been 23 commits pushed to the
Your commit was automatically rebased without conflicts. Pushed as commit a223189. |
This PR contains the API and implementation changes for JEP-412 [1]. A more detailed description of such changes, to avoid repetitions during the review process, is included as a separate comment.
[1] - https://openjdk.java.net/jeps/412
Progress
Issue
Reviewers
Contributors
<psandoz@openjdk.org>
<jvernee@openjdk.org>
<vlivanov@openjdk.org>
<sundar@openjdk.org>
<chegar@openjdk.org>
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/3699/head:pull/3699
$ git checkout pull/3699
Update a local copy of the PR:
$ git checkout pull/3699
$ git pull https://git.openjdk.java.net/jdk pull/3699/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 3699
View PR using the GUI difftool:
$ git pr show -t 3699
Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jdk/pull/3699.diff