-
Notifications
You must be signed in to change notification settings - Fork 6.3k
Upstream Array rework from Valhalla repository #27576
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
base: master
Are you sure you want to change the base?
Conversation
👋 Welcome back coleenp! A progress list of the required criteria for merging this PR into |
❗ This change is not yet ready to be integrated. |
@coleenp 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. |
Should core libs port the part where array base offset/index scale etc. are now per-instance? |
With this patch refArrayKlass and objArrayKlass have the same array base offset and index scale, so I don't know this yet. |
This change upstreams some changes in the Valhalla repo that refactored arrays into ObjArrayKlass - that holds the Java type links (points back and forth to mirror) and RefArrayKlass which are the metadata that represents the physical layout of Java array objects in the heap. RefArrayKlass._super points to ObjArrayKlass (the java Type) so that checkcast works (except in c2 in this patch because it's broken).
There's still a significant amount of compiler work that needs to be done for this change. https://bugs.openjdk.org/browse/JDK-8366668
Not really tested. Just builds with c1.
Progress
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/27576/head:pull/27576
$ git checkout pull/27576
Update a local copy of the PR:
$ git checkout pull/27576
$ git pull https://git.openjdk.org/jdk.git pull/27576/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 27576
View PR using the GUI difftool:
$ git pr show -t 27576
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/27576.diff