couple questions on method handle combinators

Paul Sandoz paul.sandoz at oracle.com
Wed Jun 21 00:12:35 UTC 2017


Apologies for the delay Java 9 and some other tasks took precedence.

> On 16 Jun 2017, at 08:43, Roland Westrelin <rwestrel at redhat.com> wrote:
> 
> 
>> This one crashes the VM :-)
> 
> Great that you're shaking out compiler bugs! Please continue! :-)
> 
> I have a patch coming for that one.
> 

Thanks. I tried the patch. It works.

Here is the inlining trace for testGWT_Q:

   4247  349 %           GWTTest::run_Q @ 4 (29 bytes)
                            @ 13   java.lang.invoke.LambdaForm$MH023/1793409602::invokeExact_MT000_LL_I (22 bytes)   force inline by annotation
                              @ 10   java.lang.invoke.Invokers::checkExactType (17 bytes)   force inline by annotation
                                @ 1   java.lang.invoke.MethodHandle::type (5 bytes)   accessor
                              @ 14   java.lang.invoke.Invokers::checkCustomized (23 bytes)   force inline by annotation
                                @ 1   java.lang.invoke.MethodHandleImpl::isCompileConstant (2 bytes)   (intrinsic)
                              @ 18   java.lang.invoke.LambdaForm$Value$MH_invoke007_L_I/1113882874::invoke007_L_I (111 bytes)   force inline by annotation
                                @ 49   java.lang.invoke.LambdaForm$DMH022/41422182::invokeStatic011_L_I (13 bytes)   force inline by annotation
                                  @ 1   java.lang.invoke.DirectMethodHandle::internalMemberName (8 bytes)   force inline by annotation
                                  @ 9   GWTTest::test (2 bytes)   inline (hot)
               !                @ 61   java.lang.invoke.MethodHandleImpl::profileBoolean (34 bytes)   (intrinsic)
                                @ 76   java.lang.invoke.MethodHandleImpl::selectAlternative (8 bytes)   inline (hot)
                                @ 83   java.lang.invoke.LambdaForm$Value$MH_delegate003_L_Q/1689665807::delegate003_L_Q (13 bytes)   force inline by annotation
                                  @ 4   java.lang.invoke.MethodHandleImpl$CountingWrapper::getTarget (5 bytes)   accessor
                                  @ 9   java.lang.invoke.LambdaForm$Value$MH_invoke006_L_Q/750887502::invoke006_L_Q (39 bytes)   force inline by annotation
                                    @ 15   java.lang.invoke.LambdaForm$DMH020/1291241230::invokeStatic010_L_L (13 bytes)   force inline by annotation
                                      @ 1   java.lang.invoke.DirectMethodHandle::internalMemberName (8 bytes)   force inline by annotation
                                      @ 9   GWTTest::v2 (4 bytes)   inline (hot)
                                    @ 35   java.lang.invoke.LambdaForm$Value$DMH_invokeStatic014_LL_Q/973967552::invokeStatic014_LL_Q (14 bytes)   force inline by annotation
                                      @ 1   java.lang.invoke.DirectMethodHandle::internalMemberName (8 bytes)   force inline by annotation
                                      @ 10   GWTTest$V_unbox/53039101::GWTTest$V_unbox (5 bytes)   inline (hot)
                                @ 107   java.lang.invoke.LambdaForm$Value$DMH_invokeStatic016_LQ_I/1720437373::invokeStatic016_LQ_I (15 bytes)   force inline by annotation
                                  @ 1   java.lang.invoke.DirectMethodHandle::internalMemberName (8 bytes)   force inline by annotation
                                  @ 11   GWTTest$V_getter$x/1298010894::GWTTest$V_getter$x (6 bytes)   inline (hot)

Paul.


More information about the valhalla-dev mailing list