review request (L): 7012648/JDK: move JSR 292 to package java.lang.invoke and adjust names

John Rose john.r.rose at oracle.com
Wed Mar 23 20:30:16 PDT 2011


On Mar 23, 2011, at 3:45 AM, Christian Thalinger wrote:

> On Mar 23, 2011, at 10:10 AM, John Rose wrote:
>> http://cr.openjdk.java.net/~jrose/7012648/webrev.jdk.00/
>> 
>> Summary: JDK code for package and class renaming from java.dyn to java.lang.invoke.
>> 
>> Includes certain other small changes:
>> - move remaining (miscellaneous) contents of sun.dyn to sun.invoke
>> - make minor revisions to documentation during Public Review
>> - remove the out-of-scope term "SAM type" from documentation and code
>> - delete unused methods and classes
>> - make minor (API-invisible) code cleanups
> 
> 
> make/common/Release.gmk:
> make/docs/CORE_PKGS.gmk:
> make/modules/modules.config:
> 
> Copyright year update missing.

Done.

> src/share/classes/java/lang/ClassValue.java:
> 
> +    // /** @deprecated This override, which is implementation-specific, will be removed for PFD. */
> +    // public final int hashCode() { return hashCode; }
> +    // private final int hashCode = HASH_CODES.getAndAdd(0x61c88647);
> +    // private static final AtomicInteger HASH_CODES = new AtomicInteger();
> 
> Why comment it and not simply remove it?

Good point.  That started as a "note to self".  The implementation of ThreadLocal needs to be replicated here, but I'm not going to do that in this change set.  I filed a tracking bug 7030453 and left this comment behind:

    // FIXME: Use a data structure here similar that of ThreadLocal (7030453).

> src/share/classes/java/lang/invoke/MethodHandles.java:
> 
> +     * <p>
>      * This method is equivalent to the following code:
> -     * <code>
> +     * <p><blockquote><pre>
>      * {@link #dropArguments(MethodHandle,int,List) dropArguments}(target, pos, Arrays.asList(valueTypes))
>      * </code>
> +     * </pre></blockquote>
> 
> </code> should be removed too.

Thanks.

> src/share/classes/java/lang/invoke/package-info.java:
> 
> - * All failures are reported by an {@link java.dyn.InvokeDynamicBootstrapError InvokeDynamicBootstrapError},
> + * All failures are reported by an {@link java.lang.invoke.InvokeDynamicBootstrapError InvokeDynamicBootstrapError},
> 
> That's BootstrapMethodError.

Right!

> src/share/classes/sun/invoke/anon/AnonymousClassLoader.java:
> 
> Just a question:  is noJVMSupport() a JVM entry point?  Because it's private static and not used in this class.

I don't think so; it's just a leftover. Thanks for spotting it.  (I haven't touched that code during this exercise, except to move it.)

-- John


More information about the mlvm-dev mailing list