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

Reply via email to