Re: Use invokedynamic instead of the reflection API when possible

2019-05-23 Thread Remi Forax
I've moved the patch to [ https://github.com/forax/clojure/tree/indy-reflect | https://github.com/forax/clojure/tree/indy-reflect ] Rémi >> De: "Ghadi Shayban" >> À: "clojure" >> Envoyé: Jeudi 23 Mai 2019 05:43:46 >> Objet: Re: Use invokedy

Re: Use invokedynamic instead of the reflection API when possible

2019-05-23 Thread Remi Forax
> De: "Ghadi Shayban" > À: "clojure" > Envoyé: Jeudi 23 Mai 2019 05:43:46 > Objet: Re: Use invokedynamic instead of the reflection API when possible > Hi Rémi! What a pleasant surprise to see your name here. The whole community > owes you a great deal of

Re: Use invokedynamic instead of the reflection API when possible

2019-05-23 Thread Remi Forax
> De: "Alex Miller" > À: "Clojure" > Envoyé: Jeudi 23 Mai 2019 03:47:53 > Objet: Re: Use invokedynamic instead of the reflection API when possible > Hi Rémi! Thanks for all your work on ASM and other JVM stuff over the years by > the way. > We have of c

Re: Use invokedynamic instead of the reflection API when possible

2019-05-22 Thread Ghadi Shayban
Hi Rémi! What a pleasant surprise to see your name here. The whole community owes you a great deal of gratitude for your work. I'm hoping to be at JVMLS this summer to talk about some indy/condy experiments. Alex summed up the philosophy well: we don't do stuff just because it's possible to do

Re: Use invokedynamic instead of the reflection API when possible

2019-05-22 Thread Alex Miller
Hi Rémi! Thanks for all your work on ASM and other JVM stuff over the years by the way. We have of course been poking at indy off and on over the years and there have been a number of experiments with it. Ghadi Shayban has probably done the most work on that and he probably has more useful feed

Use invokedynamic instead of the reflection API when possible

2019-05-22 Thread Rémi Forax
Hi all, now that Clojure is compatible with java 8, it can use invokedynamic where it makes sense, i.e. when the compiler has no information to generate directly the call in bytecode, instead of using the reflection API. In fact, it's a little more complex than that, - you can not fully replace