Import GNU Classpath (classpath-0_97_2-release).

libjava/

2008-06-28  Matthias Klose  <doko@ubuntu.com>

        Import GNU Classpath (classpath-0_97_2-release).

        * Regenerate class and header files.
        * Regenerate auto* files.
        * gcj/javaprims.h: Define jobjectRefType.
        * jni.cc (_Jv_JNI_GetObjectRefType): New (stub only).
        (_Jv_JNIFunctions): Initialize GetObjectRefType.
        * gnu/classpath/jdwp/VMVirtualMachine.java,
        java/security/VMSecureRandom.java: Merge from classpath.
        * HACKING: Fix typo.
        * ChangeLog-2007: New file.
        * configure.ac: Set JAVAC, pass --disable-regen-headers to classpath.

libjava/classpath/

2008-06-28  Matthias Klose  <doko@ubuntu.com>

        * m4/ac_prog_javac.m4: Disable check for JAVAC, when
        not configured with --enable-java-maintainer-mode.
        * aclocal.m4, configure: Regenerate.
        * native/jni/gstreamer-peer/Makefile.am: Do not link with
        libclasspathnative.
        * native/jni/gstreamer-peer/Makefile.in: Regenerate.
        * tools/Makefile.am, lib/Makefile.am: Use JAVAC for setting
        JCOMPILER, drop flags not understood by gcj.

From-SVN: r137223
This commit is contained in:
Matthias Klose 2008-06-28 13:29:13 +00:00
parent 15c151967d
commit e0441a5bfb
1429 changed files with 32837 additions and 18119 deletions

View file

@ -229,6 +229,11 @@ public class Font implements Serializable
// The ClasspathToolkit-provided peer which implements this font
private transient ClasspathFontPeer peer;
/**
* The cached hashcode. A value of 0 (default initialized) means that the
* hashcode is not computed yet.
*/
private transient int hashCode;
/**
* Creates a <code>Font</code> object from the specified string, which
@ -1318,7 +1323,21 @@ public class Font implements Serializable
*/
public int hashCode()
{
return this.toString().hashCode();
// We cache the hashcode. This makes sense, because the font wouldn't
// change the relevant properties.
if (hashCode == 0)
{
hashCode = getName().hashCode() ^ getTransform().hashCode() ^ getSize()
^ getStyle();
// In the rare case when the above yields 0, we set this to some other
// value to avoid recomputing over and over again. This is still
// conform to the specification of hashCode().
if (hashCode == 0)
{
hashCode = -1;
}
}
return hashCode;
}