Aside from Unsafe's defineAnonymousClass what's the best way to load classes into the VM?
I believe I could create a new classloader for each spun class but IIRC classloaders are expensive.
I believe as much as possible I'd want to reuse MethodHandle and LambdaMetafactory to rely on the JVMs use of defineAnonymousClass.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/mechanical-sympathy/8ded7316-7675-4747-afe5-5150a7b6009e%40googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/mechanical-sympathy/CACLL95rS-FtOi2511BqezhszD2ejxPp9BPUBFNUOnNNFndco_Q%40mail.gmail.com.
Shameless plug,i've written a simple library that shows how lookup.defineHiddenClass [1] can be used to implement dynamic proxiesregards,RémiDe: "Dr Heinz M. Kabutz" <he...@javaspecialists.eu>
À: "mechanical-sympathy" <mechanica...@googlegroups.com>
Envoyé: Dimanche 26 Avril 2020 19:11:53
Objet: Re: Best way to dynamically spin Java classes?
In Java 15 we will have hidden classes, which seem like the right model for what you are trying to do.
On Sun, 26 Apr 2020 at 19:36, Steven Stewart-Gallus <stevensele...@gmail.com> wrote:
I'm spinning a lot of classes dynamically for an interpreter.
I'm not sure the best way to load the classes into the VM.
Aside from Unsafe's defineAnonymousClass what's the best way to load classes into the VM?
I believe I could create a new classloader for each spun class but IIRC classloaders are expensive.
I believe as much as possible I'd want to reuse MethodHandle and LambdaMetafactory to rely on the JVMs use of defineAnonymousClass.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-sympathy+unsub...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/mechanical-sympathy/8ded7316-7675-4747-afe5-5150a7b6009e%40googlegroups.com.
--Dr Heinz M. Kabutz (PhD CompSci)--
Author of "The Java(tm) Specialists' Newsletter"
Sun/Oracle Java Champion
JavaOne Rockstar Speaker
http://www.javaspecialists.eu
Tel: +30 69 75 595 262
Skype: kabutz
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-sympathy+unsub...@googlegroups.com.
De: "stevenselectronicmail" <stevensele...@gmail.com>
À: "mechanical-sympathy" <mechanica...@googlegroups.com>
Envoyé: Vendredi 1 Mai 2020 17:51:47
Objet: Re: Best way to dynamically spin Java classes?
Huh
I've often thought about doing similar.Two nits:1.RT.java is clever, I know ClassValue was probably the way to do things but couldn't figure out how to do it. But it's simpler to just write to a static field to the class anyway.
One advantage of creating new classloaders over defineHiddenClass is you can just pass in the data as part of the classloader.
2.I wouldn't even bother with a traditional constructor but just use MethodHandles to set the delegate field.
Anyway very cool what defineHiddenClass will enable.
On Sunday, April 26, 2020 at 10:31:20 AM UTC-7, Remi Forax wrote:
Shameless plug,i've written a simple library that shows how lookup.defineHiddenClass [1] can be used to implement dynamic proxiesregards,RémiDe: "Dr Heinz M. Kabutz" <he...@javaspecialists.eu>
À: "mechanical-sympathy" <mechanica...@googlegroups.com>
Envoyé: Dimanche 26 Avril 2020 19:11:53
Objet: Re: Best way to dynamically spin Java classes?
In Java 15 we will have hidden classes, which seem like the right model for what you are trying to do.
On Sun, 26 Apr 2020 at 19:36, Steven Stewart-Gallus <stevensele...@gmail.com> wrote:
I'm spinning a lot of classes dynamically for an interpreter.
I'm not sure the best way to load the classes into the VM.
Aside from Unsafe's defineAnonymousClass what's the best way to load classes into the VM?
I believe I could create a new classloader for each spun class but IIRC classloaders are expensive.
I believe as much as possible I'd want to reuse MethodHandle and LambdaMetafactory to rely on the JVMs use of defineAnonymousClass.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/mechanical-sympathy/8ded7316-7675-4747-afe5-5150a7b6009e%40googlegroups.com.
--Dr Heinz M. Kabutz (PhD CompSci)--
Author of "The Java(tm) Specialists' Newsletter"
Sun/Oracle Java Champion
JavaOne Rockstar Speaker
http://www.javaspecialists.eu
Tel: +30 69 75 595 262
Skype: kabutz
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/mechanical-sympathy/CACLL95rS-FtOi2511BqezhszD2ejxPp9BPUBFNUOnNNFndco_Q%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/mechanical-sympathy/b14b88e4-3a30-447d-a29b-ca7ce7fe738d%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/mechanical-sympathy/1d74256c-f60c-453f-98c8-0452230732b9%40googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-sympathy+unsub...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/mechanical-sympathy/1d74256c-f60c-453f-98c8-0452230732b9%40googlegroups.com.