hg: valhalla/valhalla/langtools: Add experimental/hacky peeling support:

maurizio.cimadamore at oracle.com maurizio.cimadamore at oracle.com
Mon Jan 12 15:56:08 UTC 2015


Changeset: 7513a72966b6
Author:    mcimadamore
Date:      2015-01-12 15:55 +0000
URL:       http://hg.openjdk.java.net/valhalla/valhalla/langtools/rev/7513a72966b6

Add experimental/hacky peeling support:
* peeling is supported by adding special __WhereRef/Val blocks inside a method (no support for true layers)
* change parser to support peeled methods
* add support to type-check where clauses in blocks
* peeled methos are desigared away into separate methods in SpecializeTypes
* tweak Where bytecode attribute; a flag says as to whether the method is peeled vs. restricted
* meet rule for where blocks
* added tests

! src/jdk.compiler/share/classes/com/sun/tools/classfile/ClassWriter.java
! src/jdk.compiler/share/classes/com/sun/tools/classfile/Where_attribute.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/code/WhereClause.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/comp/Flow.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/MemberEnter.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/SpecializeTypes.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/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/TreeInfo.java
! src/jdk.compiler/share/classes/com/sun/tools/javap/AttributeWriter.java
+ test/tools/javac/diags/examples/PeeledMethAmbiguousBlocks.java
+ test/tools/javac/diags/examples/PeeledMethMissingBlock.java
+ test/tools/javac/valhalla/typespec/Auxiliary05.java
+ test/tools/javac/valhalla/typespec/Peel01.java
+ test/tools/javac/valhalla/typespec/Peel01.out
+ test/tools/javac/valhalla/typespec/Peel02.java
+ test/tools/javac/valhalla/typespec/Peel02.out
+ test/tools/javac/valhalla/typespec/Peel03.java
+ test/tools/javac/valhalla/typespec/Peel03.out
! test/tools/javac/valhalla/typespec/items/BytecodeMappingHarness.java
+ test/tools/javac/valhalla/typespec/items/TemplateMethod.java
! test/tools/javac/valhalla/typespec/items/tests/TestValOnly.java
+ test/tools/javac/valhalla/typespec/separate04/A.java
+ test/tools/javac/valhalla/typespec/separate04/TestSeparate04.java



More information about the valhalla-dev mailing list