On Jun 2, 6:17 pm, Rémi Forax <[EMAIL PROTECTED]> wrote:
> 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 ?

Yes: we use JSR199 for generate

> 2) Do you generate bytecodes at runtime ?

 Yes
  (we generate own bytecode only for debug case, to include debug
stabs)

>     - Do you use your own classloader ?

 Yes (also sometimes)

>     - Do you use java.lang.instrument ?
>

 No

> 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to