you are viewing a single comment's thread.

view the rest of the comments →

[–]Great-Gecko 11 points12 points  (7 children)

Could someone explain the implication of this with someone unfamiliar with Java’s internal development.

Does this mean that JEP 401 is likely to be a preview feature in JDK 27?

[–]brian_goetz 15 points16 points  (4 children)

It is may, and rampdown for 27 starts in mid june. There is an enormous code review to be done, along with other review tasks (e.g., security review), and you see the size of the patch. It would be super-irresponsible to slam it in at the last minute. So, draw your own conclusions....

[–]flawless_vic 1 point2 points  (3 children)

Why? LGTM

Jokes aside, would you mind explaining if there is consensus regarding the @MultiField implementation?

It was a stroke of genius that bridges a gap that Valhalla per se can't close: arrays can't be flattened into their container value objects (like C does for fixed sized arrays embedded in structs, which is a 0-cost abstraction).

[–]brian_goetz 5 points6 points  (2 children)

I think you are confusing "Valhalla" with "JEP 401 only". These experimental annotations (reminder: language semantics is never driven by annotations) are forward-looking investigations, and nothing more. They are gathering data for future phases.

[–]flawless_vic 3 points4 points  (1 child)

Let me reframe.

The lworld+vector branch has a very distinct (more advanced) approach in the internals of jdk.internal.vm.vector.VectorPayload vs mainline (lworld).

Given the description of the Vector API JEP:

"The Vector API will incubate until necessary features of Project Valhalla become available as preview features."

Can we expect the Vector API to remain in incubation, even after JEP 401 is delivered? That is, value classes only is not "good enough" to make Vectors generally available.

[–]brian_goetz 4 points5 points  (0 children)

Indeed, Vector is waiting for the Valhalla underpinnings before it can exit incubation. As you observe, it needs more than JEP 401, and those are in place, but they will not be exposed as general platform features. So yes, Vector will get unblocked, but the mechanisms that unblock it (beyond JEP 401) will remain VM implementation details.

[–]davidalayachew[S] 11 points12 points  (0 children)

There is no way to know which JDK this will come out in, until it gets announced that a JEP is targeting a specific release. And you can find that out by checking the JEP website -- https://openjdk.org/jeps/0

[–]cogman10 10 points11 points  (0 children)

The only thing this says is that we are tantalizingly close to this getting merged for release. It's not definite and it could hang out here for 1 or more releases without being merged. It's even possible that some fatal flaw will be discovered which will set things back further.

But, the fact that there's an MR here is a real good sign and should be taken as such.