10 ms·
Entering the next phase of Project Valhalla
- pas 8y agoA lot more details about carriers and L, and LW1: http://mail.openjdk.java.net/pipermail/valhalla-spec-experts/2018-October/000762.html http://mail.openjdk.java.net/pipermail/valhalla-spec-experts...
- twic 8y agoBackground In MVT, there were separate carrier types (Q and L) for values and references. Oh right, well that clears that up.
- pas 8y agohttps://wiki.openjdk.java.net/display/valhalla/Minimal+Value+Types https://wiki.openjdk.java.net/display/valhalla/Minimal+Value... and In value-capable modules, the class-file descriptor language is extended to include Q-types, which directly denote unboxed value types. The descriptor syntax is “QBinaryName;”, where BinaryName is the internal form of the VCC name. (The internal form substitutes slashes for dots.) In fact, the class name must be that of the value type derived from a value-capable class. By comparison, a standard reference type descriptor is called an L-type. For a value-capable class C, we may speak of both the Q-type and the L-type of C. Note that usage of L-types is not correlated in any way with usage of Q-types. For example, they can appear together in method types, in arbitrary mixtures. See also the JVM bytecode standard, which has the following "things", that explain the "L" part: https://stackoverflow.com/a/5086340 https://stackoverflow.com/a/5086340 > [0] Logically speaking, we have two things we want to do, and that unfolds to a choice between three "worlds" of up to four distinct kinds: L/Q/U/R. L is always present because it is a legacy model for reference types. Q is always present because we know we need (at least sometimes) to make a syntactic distinction between flattened values and legacy objects. > (Why not just always look inside the classfile? Because the verifier cannot be expected to load a class for every type it sees, so needs a descriptor kind character from time to time.) [0] http://mail.openjdk.java.net/pipermail/valhalla-spec-observers/2017-November/000388.html http://mail.openjdk.java.net/pipermail/valhalla-spec-observe...
- elygre 8y agoIt’s an email to the Valhalla-spec-experts mailing list. It’s not unreasonable to expect that they know the terminology.
- pulse7 8y agoHaving Box-es (legacy java.lang.Integer), Lox-es (new lightweight value boxes) and Pox-es (primitive wrapper value classes) and primitives (int-s) would complicate the understanding... I wish there would just be one (int) or maximum 2 (int.Box)...
- simonh 8y agoWe're going through the process of auditing and budgeting for the costs of all our (previously free) Java licenses now. Not interested in the slightest.
- pjmlp 8y agoEver heard of OpenJDK? Some people just love to hate Oracle. Yet paying for Sun's support was perfectly fine.
- s17tnet 8y agoHave you even considered OpenJDK and adoptopenjdk.net ?
- bilbo0s 8y ago??? If you guys are price sensitive, why are you not using OpenJDK? (Not to put too fine a point on it, but you sound commercial, so you guys could even consider contributing to it.)
- jackpeterfletch 8y agoWe're just moving the entire company to OpenJDK come November. Looking like it'll be a pretty seemless transition actually.
- twic 8y agoIndeed - simonh's response is hysterical (in both senses). The first release of 11 is here: https://adoptopenjdk.net/archive.html?variant=openjdk11&jvmVariant=hotspot https://adoptopenjdk.net/archive.html?variant=openjdk11&jvmV... And there will be more over the next three years. No contact with Oracle, legal or digital, is required.
- frant-hartm 8y agoHaters gonna hate. Oracle made OpenJDK functionally equal to OracleJDK (including previously commercial only java flight recorder and mission control), but people still complain. At first I thought this was an issue in Oracle's communication strategy, but I started to think this is ignorance on the receivers end.
- jrd79 8y agoAny estimate on which version of Java will get Value Types?
- hossbeast 8y agoC#
- Cristian_knur 8y agoLol
- sdxguru 8y agoIf you’re still wading through Java in 2018, I want you to know you’re in my thoughts and prayers.
- _Codemonkeyism 8y agoBrian Goetz has been a role model on how to lead [0] a language for a long time now for me. Thanks for all the great work Brian. [0] "Brian Goetz - Stewardship: the Sobering Parts", https://www.youtube.com/watch?v=2y5Pv4yN0b0 https://www.youtube.com/watch?v=2y5Pv4yN0b0