meth.txt
author jrose
Mon Jan 19 23:50:00 2009 -0800 (4 years ago)
changeset 30 0eebfd40132b
parent 291d42dc25d9e3
permissions -rw-r--r--
meth: Happy New Year; better JVM code, more adapters, some unit tests
        1 6655638: dynamic languages need method handles
        2 Summary: MethodHandle and related types, precursor to invokedynamic
        3 
        4 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6655638
        5 
        6 Features:
        7 - JVM support for method handles
        8 - enabled via -XX:+MethodHandleSupport
        9 - method handle types implemented:
       10 - * direct method handles (all cases of invoke{static,special,virtual,interface})
       11 - * bound method handles for any argument (any position, of type ref/int/long)
       12 - * non-blocking argument conversion adapters: null retype, checkcast, prim-to-prim, ref-to-prim
       13 - * argument motion adapters: duplicate, delete, swap, rotate argument(s)
       14 - * non-blocking unbox and varargs adapters: unbox from wrapper, spread from reference array
       15 - method handle types not implemented (must be created via Java code):
       16 - * prim-to-prim when float and non-float types are mixed (matrix is incomplete)
       17 - * blocking adapters: prim-to-ref argument (boxing), varargs collection
       18 - * flyby, ricochet (complex blocking combinators, require arglist abstraction)
       19 - JIT support: NYI (uses compiled-to-interpreted calling sequences currently)
       20 
       21 Authors:
       22 - John Rose (Sun)
       23 - JSR 292 EG
       24 
       25 Tests:
       26 - unit tests in hotspot/src/share/projects/meth/test
       27 
       28 Incremental testing:
       29 This does not require a full JDK build.
       30 
       31 $ cp -pr hotspot/src/share/projects/meth /tmp/meth
       32 $ cp -pr hotspot/src/share/projects/anonk /tmp/anonk
       33 $ cd /tmp/anonk
       34 $ ant compile
       35 $ cd /tmp/meth
       36 $ ant compile
       37 $ cat README.txt | sed '/--------/q'