So a workaround for that bug is to declare the return type of invokedynamic to be not void but by example int.
thanks, Rémi Le 09/11/2010 10:54, Christian Thalinger a écrit : > On Nov 9, 2010, at 9:33 AM, Rémi Forax wrote: >> Le 09/11/2010 08:53, Christian Thalinger a écrit : >>> On Nov 8, 2010, at 11:46 PM, Rémi Forax wrote: >>>> But sadly, it crashes the VM. >>>> The test case below reproduces the bug. >>> I haven't tried yet but I guess it crashes in compiled code? >>> >>> -- Christian >> yes, no problem with the interpreter. > > A debug build hits this assert: > > # To suppress the following error report, specify this argument > # after -XX: or in .hotspotrc: SuppressErrorAt=/methodHandleWalk.cpp: > 262 > = > = > = > = > = > = > ======================================================================== > Unexpected Error > ------------------------------------------------------------------------------ > Internal Error at methodHandleWalk.cpp:262, pid=17691, tid=7 > assert(false) failed: IMPLEMENT ME > > Do you want to debug the problem? > > To debug, run 'dbx - 17691'; then switch to thread 7 > Enter 'yes' to launch dbx automatically (PATH must include dbx) > Otherwise, press RETURN to abort... > = > = > = > = > = > = > ======================================================================== > > The reason for that is an unimplemented path in the MethodHandleWalker > handling return-type conversion for raw-retypes. What's odd here is: > > (dbx) p inrbt > inrbt = T_VOID > (dbx) p outrbt > outrbt = T_INT > > The incoming return-type is void but the outgoing should be int. > > -- Christian > _______________________________________________ > mlvm-dev mailing list > mlvm-dev@openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev