hg: valhalla/valhalla: 8207168:[LWorld] Withdraw support for __MakeDefault and add support for ValueType.default

Srikanth srikanth.adayapalam at oracle.com
Fri Sep 14 06:13:49 UTC 2018


Folks,

With this change set, javac does not accept the __MakeDefault 
ValueType(); syntax anymore.
Instead use the newer and cleaner syntax. ex:

     Point p = Point.default;  // Point is a value type.

I have tried to be a good citizen and clean up all tests across 
components and verify them, but I couldn't quite figure out how to run 
the benchmarks.

     __MakeDefault has had a tortuous course and in its final form was 
resulting in quite a bit of code clutter and maintenance burden due to 
historic baggage and the present change represents a significant clean 
up of Javac implementation - (Thanks for Maurizio for spotting the 
opportunity for clean up and to John for suggesting that modeling 
default value creation naturally aligns with static member access.)

Javac at the moment will reject any use of .default suffix being applied 
to a non-value type. And lowers ValueType.default to defaultvalue 
bytecode instruction.

FYI,
Thanks!
Srikanth



On Friday 14 September 2018 11:31 AM, srikanth.adayapalam at oracle.com wrote:
> Changeset: 418f9790c907
> Author:    sadayapalam
> Date:      2018-09-14 11:31 +0530
> URL:       http://hg.openjdk.java.net/valhalla/valhalla/rev/418f9790c907
>
> 8207168:[LWorld] Withdraw support for __MakeDefault and add support for ValueType.default
>
> ! src/jdk.compiler/share/classes/com/sun/source/tree/NewClassTree.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/Gen.java
> ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/TransValues.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.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties
> ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java
> ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java
> ! src/jdk.jshell/share/classes/jdk/jshell/CompletenessAnalyzer.java
> ! test/benchmarks/src/main/java/oracle/micro/valhalla/lworld/types/Value1.java
> ! test/benchmarks/src/main/java/oracle/micro/valhalla/lworld/types/Value2.java
> ! test/benchmarks/src/main/java/oracle/micro/valhalla/lworld/types/Value8.java
> ! test/benchmarks/src/main/java/oracle/micro/valhalla/lworld/util/HashMapIteratorCursor.java
> ! test/benchmarks/src/main/java/oracle/micro/valhalla/lworld/util/HashMapValueCursor.java
> ! test/benchmarks/src/main/java/oracle/micro/valhalla/lworld/util/HashMapValueEntry.java
> ! test/benchmarks/src/main/java/oracle/micro/valhalla/lworld/util/HashMapValueTotal.java
> ! test/hotspot/jtreg/compiler/valhalla/valuetypes/MyValue1.java
> ! test/hotspot/jtreg/compiler/valhalla/valuetypes/MyValue2.java
> ! test/hotspot/jtreg/compiler/valhalla/valuetypes/MyValue3.java
> ! test/hotspot/jtreg/compiler/valhalla/valuetypes/MyValue4.java
> ! test/hotspot/jtreg/compiler/valhalla/valuetypes/SimpleValueType.java
> ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestLWorld.java
> ! test/hotspot/jtreg/compiler/valhalla/valuetypes/TestNewAcmp.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/Empty.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/IntValue.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/JumboValue.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/Long8Value.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ObjectMethods.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/Person.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/Point.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/QuickeningTest.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/Test8186715.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/TestValue1.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/TestValue2.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/TestValue3.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/TestValue4.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/VDefaultTest.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/VWithFieldTest.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueOops.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueTypeArray.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueTypeCreation.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueTypeDensity.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueTypeGenerator.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/ValueWithJni.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/classfileparser/cfpTests.jcod
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/consistency/ValuePoint.java
> ! test/hotspot/jtreg/runtime/valhalla/valuetypes/verifier/verifierTests.jcod
> ! test/jdk/java/lang/invoke/VarHandles/Value.java
> ! test/jdk/valhalla/valuetypes/Line.java
> ! test/jdk/valhalla/valuetypes/NonFlattenValue.java
> ! test/jdk/valhalla/valuetypes/Point.java
> ! test/jdk/valhalla/valuetypes/ValueArray.java
> ! test/jdk/valhalla/valuetypes/ValueBootstrapMethods.java
> ! test/langtools/tools/javac/diags/examples.not-yet.txt
> ! test/langtools/tools/javac/valhalla/lworld-values/CastNullCheckTest.java
> ! test/langtools/tools/javac/valhalla/lworld-values/CheckCyclicMembership.java
> ! test/langtools/tools/javac/valhalla/lworld-values/CheckFlattenableCycles.java
> ! test/langtools/tools/javac/valhalla/lworld-values/CheckMakeDefault.java
> ! test/langtools/tools/javac/valhalla/lworld-values/CheckMakeDefault.out
> ! test/langtools/tools/javac/valhalla/lworld-values/CheckStaticFinalAssign.java
> ! test/langtools/tools/javac/valhalla/lworld-values/CheckSync.java
> ! test/langtools/tools/javac/valhalla/lworld-values/CheckValueFactoryWithReference.java
> ! test/langtools/tools/javac/valhalla/lworld-values/CheckValueFactoryWithReference.out
> ! test/langtools/tools/javac/valhalla/lworld-values/IllegalByValueTest.java
> ! test/langtools/tools/javac/valhalla/lworld-values/IllegalByValueTest.out
> ! test/langtools/tools/javac/valhalla/lworld-values/Point.java
> ! test/langtools/tools/javac/valhalla/lworld-values/ValueBootstrapMethodsTest.java
> ! test/langtools/tools/javac/valhalla/lworld-values/ValueCreationTest.java
> ! test/langtools/tools/javac/valhalla/lworld-values/ValuesAsRefs.java
> ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldAccessorTest.java
> ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldNegativeTests.java
> ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOfGenericType.java
> ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOfImplicitThis.java
> ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldOperatorTest.java
> ! test/langtools/tools/javac/valhalla/lworld-values/WithFieldRuntimeTest.java
>



More information about the valhalla-dev mailing list