[lworld] RFR: 8244414: [lworld] Migrate Valhalla micro benchmarks suite to not use V? syntax
Maurizio Cimadamore
mcimadamore at openjdk.java.net
Wed May 6 14:01:18 UTC 2020
On Wed, 6 May 2020 13:26:31 GMT, Srikanth Adayapalam <sadayapalam at openjdk.org> wrote:
> Description of changes:
>
> Hi Maruizio,
>
> Could you please review these assorted changes that block the build of Valhalla micro
> benchmarks ? This is a culumative fix for JDK-8244414 and JDK-8244458
>
> You could skip a review of the benchmark source files themselves - these have only mechanical changes from V? to V.ref
> except for one case where there was a usage of Node?<K,V> with Node actually being an identity class. We don't support
> the transformed Node.ref<K,V> for identity classes, so I had to drop the '?'
>
> Problems fixed:
>
> (i) Resolve.java: Diamond inference did not work for inline type constructors: Basically, the (static factory method
> equivalent) constructors synthesized during diamond inference did not have their reference projection counterparts and
> had to be paired up with them.
>
> (ii) Types.java: LUB computation in the presence of mixed values and non-values should first apply widening conversion.
>
> (iii) Enter.java: When we recompile files due to annotation processing rounds, discard
> any prior state carried on by the reference projection so as to keep it in sync with its peer.
> (A separate test will be added separately - for now building microbenchmarks is the test for this)
Added a couple of comments.
test/langtools/tools/javac/valhalla/lworld-values/LubWithInlines.java line 33:
> 32:
> 33: public class InlineDiamondTest<E> {
> 34:
This test seems the same as InlineDiamondTest...
src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java line 4003:
> 4002:
> 4003: boolean haveValues = false;
> 4004: boolean haveRefs = false;
If the goal is to fix the behavior of conditional expression typing, I think the fix should happen outside lub(), more
specifically in Attr::condType
-------------
PR: https://git.openjdk.java.net/valhalla/pull/35
More information about the valhalla-dev
mailing list