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

Karen Kinnear karen.kinnear at oracle.com
Wed Jun 27 13:33:19 UTC 2018


To be really really clear what we are asking for for LW1:

1. Modifiers: __Flattenable, __NotFlattened would be accepted only under -XDAllowFlattenabilityModifiers flag
Many of the existing tests will need to be modified to add this flag.

2. ACC_FLATTENABLE
For LW1, by default all instance fields containing value types would be marked as ACC_FLATTENABLE in the classfile.
Static fields would not. This continues to work even without the -XDAllowFlattenabilityModifiers flag.
Please make sure this is true - the patch you sent e.g. ClassWriter looks like that might now be true.

We won’t make LW1 if we change the classfile at this point.

So for the LW1 timeframe, the consensus is NOT to move away from ACC_FLATTENABLE.

Apologies for the confusion,
Karen



> On Jun 26, 2018, at 11:40 PM, Srikanth <srikanth.adayapalam at oracle.com> wrote:
> 
> I am working on it, will push soon.
> 
> Srikanth
> 
> On Tuesday 26 June 2018 09:17 PM, Karen Kinnear 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