hg: valhalla/valhalla: [lworld] Withdraw support for the __Flattenable and __NotFlattened field modifiers.

Remi Forax forax at univ-mlv.fr
Wed Jun 27 06:47:19 UTC 2018



----- Mail original -----
> De: "John Rose" <john.r.rose at oracle.com>
> À: "Karen Kinnear" <karen.kinnear at oracle.com>
> Cc: "valhalla-dev" <valhalla-dev at openjdk.java.net>
> Envoyé: Mercredi 27 Juin 2018 04:11:37
> Objet: Re: hg: valhalla/valhalla: [lworld] Withdraw support for the __Flattenable and __NotFlattened field modifiers.

> FTR, I'm fine with this too for LW1.
> 
> I think the highest priority for LW1 is to guide some users into
> a smooth and simple user experience, and see whether it
> really works.
> 
> For this to work gaps in functionality are tolerable (statics,
> constructors?).
> 
> Excess (half-baked) functionality should be factored
> under a flag so users won't "bump into it" without knowing
> they are moving out of the central experience we want
> to test.  That includes integration with generics and
> nullability control, also those extra modifiers.

Playing with the prototype, i've found that disabling value types as type argument make a lot of codes to not compile, hard to do something fun when a simple ArrayList, Comparable, Stream or Optional doesn't work. I wonder if it's not better to let people to use generics even if the behavior of LW10 will be different ? 

> 
> If we can get constructors working we can put __WithField
> and __DefaultValue under experimental flags also.
> 
> — John

Rémi

> 
> On Jun 26, 2018, at 8:47 AM, Karen Kinnear <karen.kinnear at oracle.com> wrote:
>> 
>> Srikanth, Tobias,
>> 
>> Yes please to push this patch to move these modifiers under the experimental
>> flag. this is a much better approach.
>> 
>> LW1 is a really tight deadline right now and we don’t want to cause extra work.
>> My apologies for missing the implications.
>> 
>> thank you both,
>> Karen
>> 
>>> On Jun 26, 2018, at 7:23 AM, Srikanth <srikanth.adayapalam at oracle.com> wrote:
>>> 
>>> 
>>> The attached patch would cause the flattenability modifiers to be accepted with
>>> their erstwhile syntax and semantics when javac is invoked with
>>> -XDallowFlattenabilityModifiers
>>> 
>>> I'll wait to hear from Karen and push/discard accordingly.
>>> 
>>> (I am likely away Thursday/Friday, I will be available on Wednesday. Posting a
>>> patch here, so if it is required in my absence it can be availed. It passes all
>>> langtools tests)
>>> 
>>> Thanks!
>>> Srikanth
>>> 
>>> On Tuesday 26 June 2018 03:38 PM, Srikanth wrote:
>>>> 
>>>> 
>>>> On Tuesday 26 June 2018 03:32 PM, Tobias Hartmann wrote:
>>>>> Hi Srikanth,
>>>>> 
>>>>> On 26.06.2018 11:37, Srikanth wrote:
>>>>>> I did have an express go from Karen to "nuke" these source level modifiers
>>>>>> before proceeding. But in
>>>>>> light of what you say, I'll take a look and see what is involved in pushing
>>>>>> these under an option
>>>>>> instead.
>>>>> Thanks for looking into it but we should probably wait for Karen to comment on
>>>>> that. I guess I
>>>>> missed the discussion/decision of fully removing these modifiers (I thought we
>>>>> just don't want to
>>>>> support them for LW1).
>>>> 
>>>> Sounds good to me. I'll keep a patch ready in any case and after hearing from
>>>> Karen decide to push or discard.
>>>> 
>>>> I believe the consensus in the VM is to move away fromACC_FLATTENABLE on fields
>>>> to using the ValueTypes attribute.
>>>> 
>>>> Your concern below about the code rot is valid.
>>>> 
>>>> Srikanth
>>>>> 
>>>>>> Even with that many of the tests would need "massaging" but I guess it won't
>>>>>> shut you out from
>>>>>> retaining the support for non-flattened value type fields.
>>>>> Yes, I'm fine with modifying the tests, I'm just concerned that without testing
>>>>> the implementation
>>>>> of non-flattenable fields in the JVM, the code will start to rot very soon.
>>>>> 
>>>>> Thanks,
>>>>> Tobias
>>>> 
>>> 
>>> <flat.txt>



More information about the valhalla-dev mailing list