hg: valhalla/valhalla: [lworld] Withdraw support for the __Flattenable and __NotFlattened field modifiers.
Srikanth
srikanth.adayapalam at oracle.com
Tue Jun 26 09:21:56 UTC 2018
On Tuesday 26 June 2018 02:22 PM, Tobias Hartmann wrote:
> Hi,
>
> this change breaks all our value types tests because we are extensively using the __Flattenable and
> __NotFlattened modifiers (see last Mach5 results email). I understand that we don't want to support
> __NotFlattened for lw1 but shouldn't we leave the functionality in and guard it by an (experimental)
> javac flag or something?
>
> Thanks,
> Tobias
Hi Tobias,
I am sorry that there is some pain caused by this change, but I believe
it is a hit that is preferably taken sooner. Brian and John are of the
opinion that the __Flattenable and __NotFlattened modifiers as well as
ACC_FLATTENABLE should go as soon as possible.
The fix for these broken tests should be simple - to simply delete the
__Flattenable keyword from the tests. An instance field whose type is a
value class is automatically marked ACC_FLATTENABLE and so the
__Flattenable modifier is redundant.
Srikanth.
>
> On 26.06.2018 09:41, Srikanth wrote:
>>
>> On Tuesday 26 June 2018 01:03 PM, srikanth.adayapalam at oracle.com wrote:
>>> Changeset: 8b2ca4fdb101
>>> Author: sadayapalam
>>> Date: 2018-06-26 13:02 +0530
>>> URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/8b2ca4fdb101
>>>
>>> [lworld] Withdraw support for the __Flattenable and __NotFlattened field modifiers.
>> Hi Karen,
>>
>> This change set removes source level support for the field modifiers __Flattenable and __NotFlattened.
>> Per your suggestion/request, I have still left in ACC_FLATTENABLE. All instance fields declared as
>> value types are marked as ACC_FLATTENABLE at the class file for LW1 and the static fields are not so
>> marked.
>>
>> However, in the course of implementing this, it occurred to me that we may as well have gone the
>> whole way and the flag ACC_FLATTENABLE may also have been completely withdrawn - It is not clear to
>> me that the "All instance fields declared as value types are marked as ACC_FLATTENABLE at the class
>> file for LW1 and the static fields are not so marked." strategy offers much for the VM - this could
>> have been "derived" by the VM without their being a flag such as ACC_FLATTENABLE.
>>
>> But I will wait for a go from you before getting rid of all traces of ACC_FLATTENABLE.
>>
>> Thanks!
>> Srikanth
>>
>>
>>> ! src/java.compiler/share/classes/javax/lang/model/element/Modifier.java
>>> ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java
>>> ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java
>>> ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java
>>> ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java
>>> ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassWriter.java
>>> ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java
>>> ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/Tokens.java
>>> ! src/jdk.jshell/share/classes/jdk/jshell/CompletenessAnalyzer.java
>>> ! test/langtools/tools/javac/valhalla/lworld-values/CheckDefaultFlattenable.java
>>> ! test/langtools/tools/javac/valhalla/lworld-values/CheckFlattenableCycles.java
>>> ! test/langtools/tools/javac/valhalla/lworld-values/CheckFlattenableCycles.out
>>> ! test/langtools/tools/javac/valhalla/lworld-values/FlattenableFlagFromClass.java
>>> ! test/langtools/tools/javac/valhalla/lworld-values/FlattenableFlagTest.java
>>> ! test/langtools/tools/javac/valhalla/lworld-values/FlattenableNegativeTest.java
>>> ! test/langtools/tools/javac/valhalla/lworld-values/FlattenableNegativeTest.out
>>> ! test/langtools/tools/javac/valhalla/lworld-values/Point.java
>>>
More information about the valhalla-dev
mailing list