Re: EG help please with getting to LW1 re: Value Types Consistency Checking

2018-07-06 Thread Tobi Ajila
I would like to propose an alternative strategy, one that would effectively provide the same consistency checks outlined in http://cr.openjdk.java.net/~acorn/value-types-consistency-checking-details.pdf without requiring eager loading of value types (VT) in the return/args of methods during the

Re: EG help please with getting to LW1 re: Value Types Consistency Checking

2018-07-12 Thread Tobi Ajila
> From: Remi Forax > To: John Rose > Cc: Tobi Ajila , valhalla-spec-experts > > Date: 2018/07/10 05:44 AM > Subject: Re: EG help please with getting to LW1 re: Value Types > Consistency Checking > > Hi all, > > De: "John Rose" > À: "Tobi Ajila&quo

Re: atomicity for value types

2020-01-13 Thread Tobi Ajila
Hi John Given that inline types can be flattened there is a possibility that data races will occur in places where users were not expecting it before. So your `__AlwaysAtomic` modifier is a necessary tool as the existing spec will only enforce atomicity for 32bit primitives and references. I just

Re: atomicity for value types

2020-01-14 Thread Tobi Ajila
y to the withfield bytecode? --Tobi > From: John Rose > To: Tobi Ajila > Cc: valhalla-spec-experts > Date: 2020/01/13 05:03 PM > Subject: [EXTERNAL] Re: atomicity for value types > > On Jan 13, 2020, at 1:44 PM, Tobi Ajila wrote: > > > > Hi Jo

RE: Evolving the wrapper classes

2020-06-19 Thread Tobi Ajila
Hi Dan S. >>> - Where necessary (depending on the operations being performed), the compiler generates conversions between 'I' and 'java/lang/Integer$val'. 'I' is preferred wherever possible. >> >> We have to use QInteger$val whenever we use int as a type parameter, the rest of the time, we can

RE: Evolving the wrapper classes

2020-06-19 Thread Tobi Ajila
> Because arrays have identity (not to mention potentially large copying costs), there is simply no reasonable conversion we can define; any "conversion" would involve copying all the data, changing identity, or both. Just as with the array subtyping requirements (Point[] <: Point.ref [] <:

RE: Evolving the wrapper classes

2020-06-19 Thread Tobi Ajila
Thanks for the example Dan, this "Object[] objs = arr; // just like Point[] <: Object[]" makes it very clear. Brian's response makes more sense to me now. > From: Dan Smith > To: Tobi Ajila > Cc: Brian Goetz , valhalla-spec-experts > , valhalla-spec-experts >

RE: Revisiting default values

2020-07-28 Thread Tobi Ajila
> Bucket #3 classes must be reference-default, and fields/arrays of their inline type are illegal outside of the declaring class. The declaring class can provide a flat array factory if it wants to. (A new idea from Tobi, he'll write it up for the thread.) ``` public sealed abstract class