invokedynamic reduces drastically the lookup times you require in
dynamic languages. The JVM and JIT understand what you are trying
to do and can optimize the invocation.

Currently all dynamic languages targeting the JVM generate code
that cannot be easily optimized by the JVM before invokedynamic
was available.

--
Paulo

On Aug 25, 9:59 am, Ken Wesson <[email protected]> wrote:
> On Thu, Aug 25, 2011 at 2:49 AM, Tal Liron <[email protected]> wrote:
> > Hey folks,
>
> > I just want to reassure y'all that I am working on this. It took a while to
> > create a test environment: one of the challenges of using invokedynamic is
> > that the Java language does not support it; so the best way to test right
> > now is with ASM 4.0, which is still not officially released. Documentation
> > on the opcode is also somewhat scattered, and mostly out of date, since
> > JSR-292 has changed quite a bit until the final release. The JRuby folk are
> > definitely at the cutting edge of this right (well, after all, JRuby's John
> > Rose is the key mover and architect behind the JSR), and I'm trying to learn
> > from their implementation. Right now I'm working on a code tree outside the
> > main Clojure source, and once that seems to work, I will try to merge it
> > into a branch.
>
> > So, it's not *quite* as easy as I hoped, but I still think it will be much
> > easier to use invokedynamic in Clojure than in JRuby.
>
> > I'll keep the mailing list updated on my (slow) progress, and will
> > definitely make the code public once it becomes ... presentable.
>
> Just out of curiosity, what will this actually enable? Optimizations?
> What can we expect might perform faster -- calling closures?
> Functional function-calls such as map, reduce, etc.? Multimethods,
> protocols, and things like that?
>
> --
> Protege: What is this seething mass of parentheses?!
> Master: Your father's Lisp REPL. This is the language of a true
> hacker. Not as clumsy or random as C++; a language for a more
> civilized age.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to