> From: "Brian Goetz"
> To: "Remi Forax"
> Cc: "daniel smith" , "Dan Heidinga"
> , "John Rose" ,
> "valhalla-spec-experts"
> Sent: Mardi 21 Décembre 2021 01:07:15
> Subject: Re: [External] : Re: Do we even need IO/
> From: "John Rose"
> To: "Remi Forax"
> Cc: "Brian Goetz" , "valhalla-spec-experts"
>
> Sent: Thursday, December 23, 2021 7:51:14 PM
> Subject: Re: Updated State of Valhalla documents
>> On Dec 23, 2021, at 10:35 AM, Remi Forax
> From: "John Rose"
> To: "Remi Forax"
> Cc: "Brian Goetz" , "valhalla-spec-experts"
>
> Sent: Thursday, December 23, 2021 8:43:22 PM
> Subject: Re: [External] : Re: Updated State of Valhalla documents
> On 23 Dec 2021, at 11
- Original Message -
> From: "daniel smith"
> To: "Remi Forax"
> Cc: "valhalla-spec-experts"
> Sent: Thursday, January 6, 2022 12:37:09 AM
> Subject: Re: Updated State of Valhalla documents
>> On Dec 23, 2021, at 12:58 PM, fo...@un
- Original Message -
> From: "John Rose"
> To: "daniel smith"
> Cc: "Remi Forax" , "valhalla-spec-experts"
>
> Sent: Thursday, January 6, 2022 4:53:28 AM
> Subject: Re: Updated State of Valhalla documents
>> On Jan 5, 202
oxing, but using checkcast to
convert from a QComplex; to a LComplex;
One reason may be that this is not a subtyping relationship but a boxing
relationship so it may not work when well we will have fully reified generics.
Rémi
> From: "Brian Goetz"
> To: "Remi Forax
- Original Message -
> From: "Brian Goetz"
> To: "Remi Forax" , "valhalla-spec-experts"
>
> Sent: Wednesday, January 12, 2022 1:27:07 PM
> Subject: Re: L-type, Q-type and class mirrors
>> Let's take a detour, and try to answer t
> From: "Brian Goetz"
> To: "Remi Forax" , "valhalla-spec-experts"
>
> Sent: Wednesday, January 12, 2022 1:45:34 PM
> Subject: Re: VM model and aconst_init
> Both value and primitive classes use the aconst_init / withfield
> initializatio
> From: "Brian Goetz"
> To: "Remi Forax"
> Cc: "valhalla-spec-experts"
> Sent: Wednesday, January 12, 2022 2:30:00 PM
> Subject: Re: [External] : Re: VM model and aconst_init
> The operand of C_Class is a weird beast. It can be an internal name
&
> From: "John Rose"
> To: "Remi Forax"
> Cc: "valhalla-spec-experts"
> Sent: Wednesday, January 19, 2022 9:40:15 AM
> Subject: Re: VM model and aconst_init
> I think (based on our most recent conversations)
> that aconst_init can return a Q-
> From: "Brian Goetz"
> To: "Dan Heidinga"
> Cc: "Remi Forax" , "John Rose" ,
> "valhalla-spec-experts"
> Sent: Tuesday, January 25, 2022 3:57:17 PM
> Subject: Re: VM model and aconst_init
> The motivation for this co
- Original Message -
> From: "daniel smith"
> To: "Remi Forax"
> Cc: "valhalla-spec-experts"
> Sent: Wednesday, January 26, 2022 6:20:07 AM
> Subject: Re: The interfaces IdentityObject and ValueObject must die !
>> On Jan 25, 202
> From: "daniel smith"
> To: "Remi Forax"
> Cc: "valhalla-spec-experts"
> Sent: Wednesday, January 26, 2022 4:42:30 PM
> Subject: Re: The interfaces IdentityObject and ValueObject must die !
>> On Jan 26, 2022, at 2:18 AM, [ mailto:fo...@
> From: "John Rose"
> To: "daniel smith"
> Cc: "Remi Forax" , "valhalla-spec-experts"
>
> Sent: Thursday, January 27, 2022 2:18:03 AM
> Subject: Re: The interfaces IdentityObject and ValueObject must die !
> On 26 Jan 2022, at
- Original Message -
> From: "Dan Heidinga"
> To: "Remi Forax"
> Cc: "daniel smith" , "valhalla-spec-experts"
>
> Sent: Thursday, January 27, 2022 4:41:14 PM
> Subject: Re: SoV-3: constructor questions
>>
>> The rea
> From: "John Rose"
> To: "Remi Forax"
> Cc: "valhalla-spec-experts"
> Sent: Thursday, January 27, 2022 10:00:20 PM
> Subject: Re: [External] : Re: VM model and aconst_init
> On 25 Jan 2022, at 2:50, [ mailto:fo...@univ-mlv.fr | fo...@univ-mlv.
> From: "Brian Goetz"
> To: "daniel smith" , "John Rose"
>
> Cc: "Remi Forax" , "valhalla-spec-experts"
>
> Sent: Saturday, January 29, 2022 6:40:13 PM
> Subject: Re: VM model and aconst_init
> I think we're kind of
> From: "Kevin Bourrillion"
> To: "Remi Forax"
> Cc: "valhalla-spec-experts"
> Sent: Monday, April 25, 2022 4:17:19 AM
> Subject: Re: Objects vs. values, the continuation
> On Sun, Apr 24, 2022 at 6:23 PM Remi Forax < [ mailto:fo...@uni
- Original Message -
> From: "Brian Goetz"
> To: "Remi Forax"
> Cc: "Kevin Bourrillion" , "valhalla-spec-experts"
>
> Sent: Monday, April 25, 2022 1:57:28 AM
> Subject: Re: [External] : Re: Objects vs. values, the continuation
> From: "Brian Goetz"
> To: "Remi Forax"
> Cc: "Dan Heidinga" , "Kevin Bourrillion"
> , "valhalla-spec-experts"
>
> Sent: Monday, April 25, 2022 9:54:26 PM
> Subject: Re: [External] Foo / Foo.ref is a backward default; sho
- Original Message -
> From: "daniel smith"
> To: "Remi Forax"
> Cc: "valhalla-spec-experts"
> Sent: Tuesday, April 26, 2022 2:15:17 AM
> Subject: Re: B3 ref model
>> On Apr 25, 2022, at 3:08 PM, Remi Forax wrote:
>>
>
- Original Message -
> From: "Brian Goetz"
> To: "Remi Forax"
> Cc: "daniel smith" , "valhalla-spec-experts"
>
> Sent: Tuesday, April 26, 2022 4:12:43 PM
> Subject: Re: B3 ref model
>> so if we have
>>
>> pr
> From: "Brian Goetz"
> To: "Remi Forax"
> Cc: "Dan Heidinga" , "valhalla-spec-experts"
>
> Sent: Thursday, April 28, 2022 3:43:59 PM
> Subject: Re: [External] : Re: User model stacking
>> On Apr 28, 2022, at 9:09 AM, Remi For
> From: "Kevin Bourrillion"
> To: "Remi Forax"
> Cc: "Brian Goetz" , "Dan Heidinga"
> , "valhalla-spec-experts"
>
> Sent: Thursday, April 28, 2022 3:51:07 PM
> Subject: Re: [External] : Re: User model stacking
> On T
> From: "Kevin Bourrillion"
> To: "Remi Forax"
> Cc: "Brian Goetz" , "valhalla-spec-experts"
>
> Sent: Wednesday, May 4, 2022 11:42:21 PM
> Subject: Re: User model: terminology
> On Wed, May 4, 2022 at 8:44 AM Remi Forax < [ ma
> From: "Maurizio Cimadamore"
> To: "Brian Goetz" , "Remi Forax"
> Cc: "daniel smith" , "valhalla-spec-experts"
>
> Sent: Friday, June 3, 2022 8:18:44 PM
> Subject: Re: Anonymous value classes
> And `var` ?
> (but
- Original Message -
> From: "daniel smith"
> To: "Remi Forax"
> Cc: "Maurizio Cimadamore" , "Brian Goetz"
> ,
> "valhalla-spec-experts"
> Sent: Monday, June 6, 2022 7:56:40 PM
> Subject: Re: Anonymous value classe
> From: "Brian Goetz"
> To: "Remi Forax" , "valhalla-spec-experts"
>
> Cc: "daniel smith" , "valhalla-spec-experts"
>
> Sent: Tuesday, June 14, 2022 3:16:41 PM
> Subject: Re: User model stacking: current status
[...]
Question, why a value type can not loss identity inside a method ?
Is it true for local variable access ? for field access ? for static access ?
V value = ...
Object o = v;
Object o2 = v;
o == o2 ??
field.o = v;
o == field.o ?? // what about the concurrent access
Class.o = v;
o == Class
I've some trouble to see how value types are laid on stack (conceptually, not
necessary the real implementation).
First, i may be wrong but it seems that vload do not reference the
corresponding Q-type, so i wonder how the verifier knows that it can then
access to component of the value type.
T
- Mail original -
> De: "Dan Smith"
> À: valhalla-...@openjdk.java.net
> Envoyé: Mardi 18 Avril 2017 20:44:11
> Objet: Fwd: Draft JVMS changes for Nestmates
> For those not subscribed to (or not paying attention to)
> valhalla-spec-experts,
> I just posted a link to an updated draft of J
Sorry,
I was thinking to be able to join the discussion during the connection in
between two flights but the first one was delayed.
Reading the new version of shady in the plane, i still do not see why a Qtype
is needed, it seen that the VM can infer if a Qtype or a Ltype should be used.
Rémi
You're not alone :)
I want the result of an async procedure call to be a CompletableFuture
too.
Rémi
On June 9, 2017 10:53:14 PM GMT+02:00, John Rose wrote:
>On Jun 9, 2017, at 1:45 PM, John Rose wrote:
>>
>> Allowing in return position to assume will be attractive
>with new generics.
>
>
The need for a UFoo; is not clear to me.
So correct me if i'm wrong,
u-bytecodes are bytecodes for representing something similar to T and Foo in
Java but for the VM with the supplementary constraint that T can be either a
primitive, a value type or class.
I do not see how does UFoo; fit in
Hi Karen,
With my ASM Hat,
both CONSTANT_Class_info “;Q” and CONSTANT_ValueType_info that references
an UTF8 are Ok for me.
Weirdly, having a CONSTANT_Value_info that reference a CONSTANT_Class_info is
little harder to implement because the implementation of ASM is sensitive to
the number of le
Hi all,
does somebody can send me the correct URL for the meeting today ?
cheers,
Rémi
Nice work John,
but i do not like with this proposal as is, i will explain why and how to fix
it:
- condy is linked to a static final field but unlike invokedynamic which is a
link from an invokedynamic instruction to a CONSTANT_InvokeDynamic_info,
there is no link from the static final field
John,
Do we agree that this API can also replace the constant pool patching done by
unsafe.defineAnonymousClass,
i.e. that the Object can be any live Object?
Rémi
> De: "John Rose"
> À: "Daniel Heidinga"
> Cc: valhalla-spec-experts@openjdk.java.net
> Envoyé: Mercredi 21 Juin 2017 17:51:11
Hi all,
re-reading the spec,
http://cr.openjdk.java.net/~dlsmith/values.html
i've remarked that it seems that the spec is a forked from the JVMS 8 and not
JVMS 9.
I'm planning to create an alpha release of ASM 7 by forking ASM 6 that does
already implement the JVMS 9 (from the Java Platform Mo
- Mail original -
> De: "Paul Sandoz"
> À: "John Rose"
> Cc: valhalla-spec-experts@openjdk.java.net
> Envoyé: Jeudi 6 Juillet 2017 22:02:39
> Objet: Re: Valhalla EG minutes 6/21/17
> In terms of what we have today we could easily do:
>
> // lookup must have private access to the look
Usually the difference between a class and a type is more runtime vs compile
time.
A type exist at compile time, a class exist at runtime.
A type at compile time which is propagated as a class at runtime is a reified
type, etc...
Rémi
- Mail original -
> De: "John Rose"
> À: "Bjorn B V
> De: "Daniel Heidinga"
> À: "daniel smith"
> Cc: "valhalla-spec-experts"
> Envoyé: Mercredi 19 Juillet 2017 16:31:18
> Objet: Re: Valhalla EG minutes 6/21/17
> There are a couple of different terms that have been used to describe early
> access features - incubator (jep 11), experiment, or opt
I've found the sentence in section (6.5 getfield)
"The value, which must be of the referenced type, is popped from the operand
stack."
ambiguous.
While is understand the sentence, it's easy to read "the referenced type" as a
type reference.
What about:
"The value, which must be of the refe
Hi John,
Thinking a little bit about that,
1/ conceptually a BootstrapCallInfo and a ConstantGroup are every similar, it's
a bunch of constants, the BootstrapCallInfo as just a special meaning for some
of them.
2/ at runtime, it's like an array or a java.util.List (again conceptually) of
sta
I've just discovered that while the spec specified that vaload and vastore
takes a constant class as parameter, the implementation use vaload and vastore
with no parameter (like aaload, aastore).
Let see the tradeoffs:
1/ vaload/vastore has the same bytecode shape as the other
*aload/*astore,
> AI: What does reflection get_enclosing_class do if for example the enclosing
> class has been deleted?
NoClassDefFoundError
And if you do the same with an annotation, getAnnotations() skip the annotation.
(Obviously isAnnotationPresent() and getAnnotation() does not work because they
takes the
ping !
Rémi
> De: "Remi Forax"
> À: "John Rose"
> Cc: "valhalla-spec-experts"
> Envoyé: Samedi 2 Septembre 2017 00:39:42
> Objet: Re: ConstantDynamic JVMS comments
> Hi John,
> Thinking a little bit about that,
> 1/ conceptually a B
> De: "Karen Kinnear"
> À: "valhalla-spec-experts"
> Envoyé: Mercredi 25 Octobre 2017 16:45:51
> Objet: nestmates spec open issues
> ...
> 2. Core reflection APIs [ https://bugs.openjdk.java.net/browse/JDK-8188075 |
> https://bugs.openjdk.java.net/browse/JDK-8188075 ]
> John Rose proposed:
> a)
getClasses() throws an exception but getAnnotations() skips unavailable
annotations.
that said, i'm not against throwing in this case.
Rémi
- Mail original -
> De: "David Holmes"
> À: "Valhalla Expert Group Observers"
> , "John Rose"
> ,
> "Brian Goetz"
> Cc: "valhalla-spec-experts"
[I've trouble to find what is the right list for the JVMS spec change describe
below, so i apologize in advance for the spam]
Hi all,
the spec of the Runtime*ParameterAnnotations attribute [1], allow the number of
parameter annotations to be different from the number of parameter from the
metho
Apart for the corrections already mentioned,
this is perfect.
Rémi
- Mail original -
> De: "David Holmes"
> À: "valhalla-spec-experts"
> Envoyé: Mardi 7 Novembre 2017 08:26:47
> Objet: [Nestmates] Draft core reflection API
> For comment:
>
> http://cr.openjdk.java.net/~dholmes/8188075
To summarize for myself,
we already know that we only need only one U, java.lang.__Value, let try to
make it java.lang.Object (with no boxing).
The claim is that Object is used more as the root of any types like in
collections than as the root of all references like in System.out.println().
Ok,
Interesting !
here is my current view of the problem.
Lets say we are in the R/Q/U world, we want U interface to abstract over a
reference type or a value type, we want UObject because object is basically an
interface, we also want U object like UOptional to be able to painlessly move a
referen
that the model is really complex, which
means that it will impose a real burden when we will want to maintain or tweak
it again in the future.
The model i propose is far simpler.
Rémi
- Mail original -
> De: "Remi Forax"
> À: "daniel smith"
> Cc: "val
e way in my opinion is if the R Optional and Q Optional occupy
the same lattice, i.e. are a L Optional.
This is what i have wanted to say with my first paragraph below.
Rémi
- Mail original -
> De: "Remi Forax"
> À: "daniel smith"
> Cc: "valhal
> De: "John Rose"
> À: "Brian Goetz"
> Cc: "valhalla-spec-experts"
> Envoyé: Mercredi 22 Novembre 2017 19:48:18
> Objet: Re: abandon all U-types, welcome to L-world (or, what I learned in
> Burlington)
> On Nov 22, 2017, at 5:48 AM, Brian Goetz < [ mailto:brian.go...@oracle.com |
> brian.go...@
Hi John, hi all,
i've read the doc you send us during our last meeting on the classfile
specialization,
while it's powerful i do not think we need to do constant pool specialization
at least to implements generics over primitives and value types.
One of the results of the MVT prototype is that w
types and generics specialization are parts of the same
mechanism.
Rémi
- Mail original -
> De: "Remi Forax"
> À: "valhalla-spec-experts"
> Envoyé: Mercredi 6 Décembre 2017 15:47:41
> Objet: Doubling down on the erasure vs constant pool specialization
Given that we will have a NestMate phase 2, i agree with Dan, we can revisit
that point later.
Rémi
> De: "Daniel Heidinga"
> À: "Karen Kinnear"
> Cc: "valhalla-spec-experts"
> Envoyé: Mercredi 20 Décembre 2017 16:58:03
> Objet: Re: nestmates JVMTI spec proposal changes
> We're on board wi
> Most classes should naturally use backward references exclusively, since
> entries tend to be generated bottom-up.
> (In theory. If there are counter examples produced by any mainstream bytecode
> generators, that would be good to know.)
Currently, javac and ecj tends to generate their constan
I like this approach, this is fine for me.
Rémi
- Mail original -
> De: "daniel smith"
> À: "valhalla-spec-experts"
> Envoyé: Samedi 17 Février 2018 00:32:17
> Objet: Re: A "RecursiveConstants" attribute
>> On Jan 31, 2018, at 2:50 PM, Brian Goetz wrote:
>>
>> OK, so the goal is clea
Daniel (S), Brian,
i think your view on this subject is biased by the fact that you built that
library.
While the name and the type of a condy are not strictly necessary because if
you have one bsm by constant, you know the type, you still need the lookup
argument, apart if you are building a l
> De: "John Rose"
> À: "valhalla-spec-experts"
> Envoyé: Lundi 7 Mai 2018 22:55:22
> Objet: Re: value type hygiene
> On May 6, 2018, at 2:17 AM, John Rose < [ mailto:john.r.r...@oracle.com |
> john.r.r...@oracle.com ] > wrote:
>> Like many of us, I have been thinking about the problems of keepi
- Mail original -
> De: "John Rose"
> À: "Paul Sandoz"
> Cc: "valhalla-spec-experts"
> Envoyé: Mardi 8 Mai 2018 06:25:53
> Objet: Re: value type hygiene
> On May 7, 2018, at 6:06 PM, Paul Sandoz wrote:
>>
>> Thanks for sharing this!
>>
>> I like the null containment approach. It re
- Mail original -
> De: "daniel smith"
> À: "John Rose"
> Cc: "valhalla-spec-experts"
> Envoyé: Jeudi 10 Mai 2018 01:46:07
> Objet: Re: value type hygiene
>> On May 6, 2018, at 3:17 AM, John Rose wrote:
>>
>> Like many of us, I have been thinking about the problems of keeping values,
- Mail original -
> De: "Maurizio Cimadamore"
> À: "daniel smith" , "John Rose"
>
> Cc: "valhalla-spec-experts"
> Envoyé: Jeudi 10 Mai 2018 18:27:00
> Objet: Re: value type hygiene
> On 10/05/18 00:46, Dan Smith wrote:
>> (To be clear about my preferred alternative: we introduce Q type
I think i prefer a declaration site annotation like @ValueBasedClass to a use
site annotation ValueRef.
For me a value based class, if you want to be as compatible as possible, is a
reference type (so 'L') that behave like a value type at runtime, so the JIT
can see it has a value type at runt
It's more code like a class and don't leak 'this' as Ali and Maurizio said.
Rémi
- Mail original -
> De: "Brian Goetz"
> À: "John Rose" , "Maurizio Cimadamore"
>
> Cc: "valhalla-spec-experts"
> Envoyé: Vendredi 18 Mai 2018 22:05:15
> Objet: Re: Towards Minimal L World
>> Thesis: Val
- Mail original -
> De: "Karen Kinnear"
> À: "valhalla-spec-experts"
> Envoyé: Mercredi 23 Mai 2018 16:11:30
> Objet: Valhalla EG minutes May 9 and Apr 25 2018
> Corrections welcome - apologies for the delay
>
> May 9, 2018
>
> Attendees: Remi, Dan H, ]Dan Smith, Frederic, David Sim
As discussed during our today meeting,
here is an implementation of toString, equals and hashCode that can be used as
default implementation of these methods for value types.
toString use the ConcatMetafactory so the code is simple,
for equals(), it first sort the fields to have the primitive typ
Hi all,
> De: "John Rose"
> À: "Tobi Ajila"
> Cc: "valhalla-spec-experts"
> Envoyé: Samedi 7 Juillet 2018 23:08:27
> Objet: Re: EG help please with getting to LW1 re: Value Types Consistency
> Checking
> Hi Tobi. Thanks for the write-up.
> To be brief, your proposed technique will seems to r
While testing how value types can be used, i had to find workarounds around the
fact that there is no way to create an anonymous value class using the compiler.
If we follow the idea of having a classical constructor being transformed to a
factory method, i think we should also allow anonymous v
Hi all,
i've plyed for some quite times now to specify in my mind what a value based
class can be and i think it's time write that down.
First, why we need value based class ?
We want to offer a path to refactor a class to a value type but given that
class instances are nullable and value type v
Hi all,
just to write my current state of thinking somewhere,
I see 3 ways to implement value based class which all have their pros and cons
- the value based class bit,
a value based class is tagged with ACC_VALUE_BASED, which means that they
have no identity. It's not a value class so instan
Hi all,
just to formalize a little more my thinking about the interaction between
(nullable) value types and erased generics.
With LW1, the VM enforces that a value type can not be null, so each time there
is a conversion between an Object to a value type, a nullcheck is inserted.
This works gre
Thanks Daniel !
There is another variation of the last semantics, instead of allowing the type
notation on method parameters, you have a boolean in the attribute ValueTypes
that indicates if the value type is nullable or not. So you are only allowed to
decide class wide is a value type is nulla
Hi Tobias,
[Switching back to valhalla-spec-experts]
- Mail original -
> De: "Tobias Hartmann"
> À: "valhalla-dev"
> Envoyé: Jeudi 13 Septembre 2018 09:33:19
> Objet: Re: Valhalla EG meeting notes Sep 12 2018
> [Switching from valhalla-spec-experts to valhalla-dev]
>
> Just wanted to
Reified generics - shadow class edition.
I believe that try to make method descriptor variant is a bad idea, it comes
from the model 1...3 experimentation but it's an artifact of such
implementations, not a concept.
Here i describe a way to keep generics erased even if they are reified.
If the
-
> De: "Remi Forax"
> À: "valhalla-spec-experts"
> Envoyé: Mardi 18 Septembre 2018 12:32:16
> Objet: Reified generics - shadow class edition
> Reified generics - shadow class edition.
>
> I believe that trying to make method descriptor variant is a
I've observed an interesting side effect of the introduction of var that
troubles my students,
the introduction of var make the generics method call with type arguments
needed to be mentioned more frequent.
writing
List list = List.of();
foo(list); // foo takes a List of String
works out o
Being able use the default constructor to initialize the default value has a
circular issue currently because a constructor is actually transformed to a
default + with + with etc,
so to call the default constructor you need to have acces to the default value.
The circle can be broken if the defau
> De: "Brian Goetz"
> À: "valhalla-spec-experts"
> Envoyé: Jeudi 25 Octobre 2018 21:04:30
> Objet: Array covariance
> Since the Burlington meeting, Simms has been prodding me to offer an
> alternative
> to supporting array covariance for value arrays. John and I kicked around the
> following id
Hi,
from the language perspective, one can create a value type using a "value
class" VT or a nullable value type NVT with the annonation @ValueBased.
The language let you automatically derive
- a nullable value type VT.box from a value type VT and VT.val is equivalent to
VT.
- a non nullable val
- Mail original -
> De: "Brian Goetz"
> À: "valhalla-spec-experts"
> Envoyé: Lundi 7 Janvier 2019 18:21:26
> Objet: Finding the spirit of L-World
> I’ve been processing the discussions at the Burlington meeting. While I think
> we made a lot of progress, I think we fell into a few wi
But i agree that having all these Q-ref in the bytecode will not help the
introduction of generics.
I think that the way to implement the reification of generics is:
- do the specialization of the data shape by asking a boostrap method with the
restriction that the data shape has to be covariant
For 5, the first idea is to forward the call to the constructor to the factory
method, but detecting the new + dup + invokespecial may be hard especially in
the interpreter.
The other solution is to redirect the call to new to create a larval value type
and have the invokespecial call to fill th
> De: "Brian Goetz"
> À: "valhalla-spec-experts"
> Envoyé: Mardi 22 Janvier 2019 14:51:35
> Objet: Bridge methods in the VM
> We’ve been thinking for a long time about the possibilities of pushing
> bridging
> down into the VM. The reasons we have had until now have not been strong
> enough, bu
- Mail original -
> De: "Karen Kinnear"
> À: "valhalla-spec-experts"
> Envoyé: Mardi 29 Janvier 2019 19:55:17
> Objet: Valhalla EG notes Jan 16, 2019
> Attendees: Remi, Tobi, Dan H, John, Brian, Simms, Fred, Karen
> Corrections welcome - thank you John for your summary notes
>
> AIs:
>
> De: "John Rose"
> À: "Brian Goetz"
> Cc: "valhalla-spec-experts"
> Envoyé: Mercredi 30 Janvier 2019 01:20:50
> Objet: Re: Valhalla EG notes Jan 16, 2019
> On Jan 29, 2019, at 12:27 PM, Brian Goetz < [ mailto:brian.go...@oracle.com |
> brian.go...@oracle.com ] > wrote:
>> But, now we a proble
Hi Karen,
here is an example that recurse to its death with the current prototype
import java.lang.invoke.ValueBootstrapMethods;
import java.util.stream.IntStream;
public class Substituable {
static value class Link {
private final int value;
private final Object next;
public L
otherwise
calling the lambda will stack overflow too but it means that == will be slow
(because it does a recursive comparison).
Rémi
- Mail original -
> De: "Remi Forax"
> À: "Karen Kinnear"
> Cc: "valhalla-spec-experts"
> Envoyé: Jeudi 31 Ja
ederic, Karen
>
> AI: Remi: send GitHub POC experiment outside of vm with bridge forwarding
https://github.com/forax/indy-everywhere
Rémi
I still think we have not finished exploring how to implement acmp for value
types.
We currently have two semantics for value types:
- always return false,
- recursively compare each components
Support of acmp like the support of synchronized or System.identityHashcode is
not a part of the orig
- Mail original -
> De: "John Rose"
> À: "Kevin Bourrillion"
> Cc: "valhalla-spec-experts"
> Envoyé: Samedi 23 Février 2019 03:57:56
> Objet: Re: Finding the spirit of L-World
> On Feb 22, 2019, at 11:42 AM, Kevin Bourrillion wrote:
>>
>> I think we should make users write `equals` to
- Mail original -
> De: "John Rose"
> À: "Kevin Bourrillion"
> Cc: "valhalla-spec-experts"
> Envoyé: Samedi 23 Février 2019 04:02:15
> Objet: Re: Finding the spirit of L-World
> On Feb 22, 2019, at 6:57 PM, John Rose wrote:
>>
>> On Feb 22, 2019, at 11:42 AM, Kevin Bourrillion wro
Hi all,
there is another issue with making the component wide test available for any
value types, it's leaking the implementation.
Let say we have this class:
public value class GuessANumber {
private final int value;
public GuessANumber(int value) {
this.value = value;
}
publi
27, 2019, at 7:30 AM, Karen Kinnear wrote:
>> Subject: Valhalla EG notes Feb 13, 2019
>> To: valhalla-spec-experts
>> ...
>> III. [Remi Forax] DynamicValue attribute
>> Another project Remi will lead and create JEP
>> language level: static lazy final
>>
- Mail original -
> De: "John Rose"
> À: "Brian Goetz"
> Cc: "valhalla-spec-experts"
> Envoyé: Mercredi 27 Février 2019 22:01:07
> Objet: Re: lazy statics design notes
> On Feb 27, 2019, at 12:58 PM, Brian Goetz wrote:
>>
>> I think the answer to all the objections is "then just use "
> De: "Brian Goetz"
> À: "valhalla-spec-experts"
> Envoyé: Jeudi 28 Février 2019 18:17:43
> Objet: Re: Finding the spirit of L-World
>> class Object { ... }
>> class RefObject extends Object { ... }
>> class ValObject extends Object { ... }
> Let’s talk about this one some more. There are some
Hi John,
the semantics of a lazy final instance field and a lazy final static field are
different, likewise the semantics of an instance field and a static field are
different too, by example the static fields are initialized under a lock but
there is no implicit lock around the instance fields
101 - 200 of 318 matches
Mail list logo