Charlie,

Truffle is such a general-purpose automatic specialization mechanism that works 
like you say via just writing Java code and without a need to use invokedynamic 
and without a need to dynamically generate bytecodes.

- thomas

On 25 Aug 2014, at 15:25, Charles Oliver Nutter <head...@headius.com> wrote:

> On Mon, Aug 25, 2014 at 6:59 AM, Fredrik Öhrström <oehrstr...@gmail.com> 
> wrote:
>> Calle Wilund and I implemented such a indy/methodhandle solution for
>> JRockit, so I know it works. You can see a demonstration here:
>> http://medianetwork.oracle.com/video/player/589206011001 That
>> implementations jump to C-code that performed the invoke call, no fancy
>> optimizations. Though the interpreter implementation of invoke can be
>> optimized as well, that was the first half of the talk is about. But its
>> really not that important for speed, because the speed comes from inlining
>> the invoke call chain as early as possible after detecting that an indy is
>> hot.
> 
> But can it work in C2? :-)
> 
> My impression of C2 is that specialization isn't in the list of things
> it does well. If we had a general-purpose specialization mechanism in
> Hotspot, things would definitely be a *lot* easier. We might not even
> need indy...just write Java code that does all your MH translations
> and specialize it to the caller's call site.
> 
> We can certainly get C2 to do these things for us...by generating a
> crapload of mostly-redundant bytecode. Oh wait...
> 
> - Charlie
> _______________________________________________
> mlvm-dev mailing list
> mlvm-dev@openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to