2010/4/12 Ivan Maidanski <iv...@mail.ru>:
> Hi!
>
> The proposed (attached) patch doesn't really contain bug fixes, it just 
> refines the reference VM classes (like making the classes/methods 
> package-private instead of public and prohibiting class instantiation).
>
> The ChangeLog entries:
>
>        * vm/reference/gnu/classpath/VMStackWalker.java: Make the default
>        constructor private.
>        * vm/reference/gnu/classpath/VMSystemProperties.java: Likewise.
>        * vm/reference/gnu/java/lang/VMCPStringBuilder.java: Likewise.
>        * vm/reference/gnu/java/lang/VMInstrumentationImpl.java: Likewise.
>        * vm/reference/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java:
>        Likewise.
>        * vm/reference/gnu/java/lang/management/VMCompilationMXBeanImpl.java:
>        Likewise.
>        * 
> vm/reference/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java:
>        Likewise.
>        * vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java:
>        Likewise.
>        *vm/reference/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java:
>        Likewise.
>        * vm/reference/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java:
>        Likewise.
>        * 
> vm/reference/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java:
>        Likewise.
>        * vm/reference/gnu/java/lang/management/VMRuntimeMXBeanImpl.java:
>        Likewise.
>        * vm/reference/gnu/java/lang/management/VMThreadMXBeanImpl.java:
>        Likewise.
>        * vm/reference/gnu/java/net/VMPlainDatagramSocketImpl.java: Likewise.
>        * vm/reference/gnu/java/nio/VMPipe.java: Likewise.
>        * vm/reference/gnu/java/nio/VMSelector.java: Likewise.
>        * vm/reference/gnu/java/security/jce/prng/VMSecureRandom.java:
>        Likewise.
>        * vm/reference/java/io/VMFile.java: Likewise.
>        * vm/reference/java/io/VMObjectInputStream.java: Likewise.
>        * vm/reference/java/io/VMObjectStreamClass.java: Likewise.
>        * vm/reference/java/lang/VMClassLoader.java: Likewise.
>        * vm/reference/java/lang/VMDouble.java: Likewise.
>        * vm/reference/java/lang/VMFloat.java: Likewise.
>        * vm/reference/java/lang/VMMath.java: Likewise.
>        * vm/reference/java/lang/VMObject.java: Likewise.
>        * vm/reference/java/lang/VMString.java: Likewise.
>        * vm/reference/java/lang/VMSystem.java: Likewise.
>        * vm/reference/java/lang/management/VMManagementFactory.java:
>        Likewise.
>        * vm/reference/java/lang/reflect/VMArray.java: Likewise.
>        * vm/reference/java/lang/reflect/VMProxy.java: Likewise.
>        * vm/reference/java/net/VMInetAddress.java: Likewise.
>        * vm/reference/java/net/VMURLConnection.java: Likewise.
>        * vm/reference/java/nio/VMDirectByteBuffer.java: Likewise.
>        * vm/reference/java/security/VMSecureRandom.java: Likewise.
>        * vm/reference/java/util/VMTimeZone.java: Likewise.
>        * vm/reference/gnu/classpath/VMSystemProperties.java: Make the class
>        final.
>        * vm/reference/java/lang/VMMath.java: Likewise.
>        * vm/reference/java/lang/reflect/VMArray.java: Likewise.
>        * vm/reference/sun/misc/Unsafe.java: Likewise.
>        * vm/reference/gnu/java/net/VMPlainDatagramSocketImpl.java: Don't
>        make the class public.
>        * vm/reference/gnu/java/nio/VMSelector.java: Likewise.
>        * vm/reference/gnu/java/security/jce/prng/VMSecureRandom.java
>        (SPinner): Remove unnecessary "final" for the constructor argument;
>        remove "private" for stop() (to be directly accessible from the outer
>        class).
>        * vm/reference/java/security/VMSecureRandom.java: Likewise.
>        * vm/reference/java/io/VMFile.java (setReadOnly, list, canRead,
>        canExecute): Refine the documentation comment.
>        * vm/reference/java/io/VMFile.java (getTotalSpace, getFreeSpace,
>        getUsableSpace, setReadable, setWritable, setExecutable,
>        toCanonicalForm): Remove "public" access modifier.
>        * vm/reference/java/lang/VMCompiler.java (compileClass,
>        compileClasses, command, enable, disable): Likewise.
>        * vm/reference/java/lang/VMDouble.java (doubleToRawLongBits,
>        longBitsToDouble, toString, parseDouble): Likewise.
>        * vm/reference/java/lang/VMMath.java (sin, cos, tan, asin, acos, atan,
>        atan2, exp, log, sqrt, pow, IEEEremainder, ceil, floor, rint, cbrt,
>        cosh, expm1, hypot, log10, log1p, sinh, tanh): Likewise.
>        * vm/reference/java/lang/VMSystem.java (currentTimeMillis, nanoTime):
>        Likewise.
>        * vm/reference/java/net/VMInetAddress.java (getLocalHostname,
>        lookupInaddrAny, getHostByAddr, getHostByName, aton): Likewise.
>        * vm/reference/java/net/VMURLConnection.java (LENGTH): Likewise.
>        * vm/reference/java/io/VMFile.java (canWrite, canRead, canExecute):
>        Remove "synchronized" access modifier.
>        * vm/reference/java/lang/VMDouble.java (initIDs): Change "public"
>        access modifier to "private".
>        * vm/reference/java/lang/VMSystem.java (mapLibraryName): Remove the
>        commented out function (since exists in VMRuntime).
>        * vm/reference/java/net/VMInetAddress.java: Remove
>        "implements Serializable".
>        * vm/reference/sun/misc/Unsafe.java (unsafe): Make final.
>
> Bye.
>

Most of these look ok in theory.  I think the final should stay in
VMSecureRandom though.

What testing have you done and with which VMs?  I'm wary about
changing the VM interface just for such minor fixes.
-- 
Andrew :-)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net

PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8

Reply via email to