You're right; you can't replace the ANEW bytecode; what you can do though is, you can do an invokedynamic instead of doing the usual statically linked invocation of <init>. I.e. instead of
ANEW someClass DUP INVOKESPECIAL someClass.<init> sequence you could use ANEW someClass DUP INVOKEINTERFACE java.dyn.Dynamic."someAliasForTheConstructor" and then have the bootstrap method invoke constructor. Although more probably than not, bytecode verifier would stop such code from getting loaded, methinks... Attila. On 2009.05.05., at 17:15, Fredrik Öhrström wrote: > What is the purpose of being able to invoke the constructor > through a MethodHandle? The reason I am asking is because > to me, it seems like we cannot perform a new through > a MethodHandle. Which means that we have to generate a > factory method (to which we can bind a MethodHandle) to > create a new instance and then we can just as well put > the call to the constructor there. Or am i missing > something? :-) > > //Fredrik _______________________________________________ mlvm-dev mailing list [email protected] http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
