RFR:JDK-8198749 Translation of value constructors in classic constructor notation (original) (raw)
Srikanth srikanth.adayapalam at oracle.com
Wed Jul 11 10:56:00 UTC 2018
- Previous message (by thread): hg: valhalla/valhalla: 8206108: [lworld] TestEliminateAllocationPhi fails with SIGSEGV in PhaseMacroExpand::expand_allocate_common
- Next message (by thread): RFR:JDK-8198749 Translation of value constructors in classic constructor notation
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi Maurizio,
Please review the following patch that implements the changes required for https://bugs.openjdk.java.net/browse/JDK-8198749 ([lworld] Translation of value constructors in classic constructor notation)
Webrev: http://cr.openjdk.java.net/~sadayapalam/JDK-8198749/webrev.00/
Part of the work in supporting value construction in the classic constructor notation will happen independently on behalf of https://bugs.openjdk.java.net/browse/JDK-8205910(diagnose use of 'this' with DU fields (for VTs and VBCs)).
Normally I would have requested the review after a fair bit more of testing and self-review, but given your proposed long absence, I am requesting the review now. However, I am happy to note that the code is in pretty decent shape for another person to study (known issues at the bottom)
I will continue with the testing and self review in parallel.
If time is an issue, you can limit the review to the following source files:
Gen.java TransValues.java LambdaToMethod.java
and these test files: (these give an idea of what works already and allows you to experiment by tweaking)
test/langtools/tools/javac/valhalla/lworld-values/InnerValueNew.java test/langtools/tools/javac/valhalla/lworld-values/LocalValueNew.java test/langtools/tools/javac/valhalla/lworld-values/QualifiedThisTest.java test/langtools/tools/javac/valhalla/lworld-values/ValueConstructorRef.java test/langtools/tools/javac/valhalla/lworld-values/ValueNewReadWrite.java
Known issues:
(1) make.at() calls may not be updated consistently/uniformly. (2) I need to double check that some subtree translations are not skipped inadvertently. (3) Some of the other older modified tests need rewriting - they compare javap output which is flaky due to constant pool offsets changing anytime there is a change in code generation scheme. (4) Some code duplication can be avoided by creating utility routines.
langtools tests are green (except for one non-material failure).
Thanks! Srikanth
- Previous message (by thread): hg: valhalla/valhalla: 8206108: [lworld] TestEliminateAllocationPhi fails with SIGSEGV in PhaseMacroExpand::expand_allocate_common
- Next message (by thread): RFR:JDK-8198749 Translation of value constructors in classic constructor notation
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]