On Jul 13, 2009, at 12:04 PM, Jochen Theodorou wrote:

> [boxing] is a problem we should discuss for invokedynamic in more  
> depth.
> Especially how to go around that problem to get maximum performance.
> What do you think?

I might be missing your point, Jochen, but I think we need a three- 
point approach:

1. Make boxing/unboxing less common, by supporting primitives in JSR  
292.  This point applies to all sizes and shapes of JVMs.  It requires  
more smarts in the language implementation, but some languages (e.g.,  
CAL) already optimize primitive arguments, since the JVM rewards it.

2. Make some cases of boxing/unboxing cheaper, by supporting fixnums.   
This point applies to all sorts of JVMs, but is not widely in use.   
There is an empty mlvm project for this, and it will probably see some  
activity, at least for Integer.valueOf specifically.  (Any takers?)

3. Make some cases of boxing/unboxing optimizable, by including strong  
escape analysis in the JIT, including Integer.valueOf.   This point  
only applies to JVMs with full-power JITs, and requires some special  
pleading for Integer.valueOf, because of its interning behavior.

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

Reply via email to