hg: valhalla/valhalla/langtools: Add support for new constant pool forms for generic type entries

maurizio.cimadamore at oracle.com maurizio.cimadamore at oracle.com
Tue Sep 22 11:55:22 UTC 2015


Changeset: dcdfe0afc39c
Author:    mcimadamore
Date:      2015-09-22 12:54 +0100
URL:       http://hg.openjdk.java.net/valhalla/valhalla/langtools/rev/dcdfe0afc39c

Add support for new constant pool forms for generic type entries
* Add javac and javap support for generic type entries in constant pool
* Add new 'typed' opcode to handle type 1 opcodes
* Add support for type 2 and type 3 bytecodes through pointers to generic constant pool type entries
* Add flag to optionally turn on the new CP forms: -XDpoolModes=<MODE> where mode can be one of {all, type1, type2, type3}; modes can be negated with a '-' prefix - i.e. -XDpoolModes=all,-type2
* Bump minor classfile version if classfile contains new CP forms

Todo:
* ClassReader doesn not understand new forms
* type 4 opcodes not supported
* new CP forms in descriptors not supported
* new CP forms should be used instead of name mangling

! src/jdk.compiler/share/classes/com/sun/tools/classfile/ClassTranslator.java
! src/jdk.compiler/share/classes/com/sun/tools/classfile/ClassWriter.java
! src/jdk.compiler/share/classes/com/sun/tools/classfile/ConstantPool.java
! src/jdk.compiler/share/classes/com/sun/tools/classfile/Dependencies.java
! src/jdk.compiler/share/classes/com/sun/tools/classfile/Opcode.java
! src/jdk.compiler/share/classes/com/sun/tools/classfile/ReferenceFinder.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ByteCodes.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassFile.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/jvm/Code.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Items.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Pool.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/sym/CreateSymbols.java
! src/jdk.compiler/share/classes/com/sun/tools/javap/ConstantWriter.java
! test/tools/javac/lambda/ByteCodeTest.java



More information about the valhalla-dev mailing list