Hi all, I've just pushed a new implementation of the backport. CallSites are now created dynamically as needed and can be garbaged if there are no longer used.
I've planned to release two tools. - one that can be used at compile time, just after your compiler or as last step of the compilation (using ASM adapters). - A java.lang.instrument agent that modifies the bytecode at runtime when it is loaded. I've some questions about the language runtime you implement : 1) Do you use another library than ASM to generate bytecodes ? 2) Do you generate bytecodes at runtime ? - Do you use your own classloader ? - Do you use java.lang.instrument ? cheers, Rémi ------------------------------------------------------------------------------------------ The generated now looks like to that: // an array of method handle with volatile semantic private static final MethodHandleArray $handles= new MethodHandleArray(1); private static Locus $initLocus0() { return Locus.make(handles, 0, TestGenerated.class,"test", void.class, new Class<?>[]{Object.class, String.class}); } private static void $adapterLocus0(MethodHandle handle, Object o, Object o2) { ((OOVInterface)handle).invoke(o, o2); } public static void main(String[] args) { TestGenerated test=new TestGenerated(); String arg = "hello invokedynamic"; MethodHandle target = $handles.get(0); // get method handle at call site 0 if ($locus1.target == null) { Linkage.bootstrapInvokeDynamic($initLocus0(), test, arg); } else { $adapterLocus0(target, test, arg); } } --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "JVM Languages" group. To post to this group, send email to jvm-languages@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/jvm-languages?hl=en -~----------~----~----~----~------~----~------~--~---