Index: main/java/org/apache/harmony/unpack200/bytecode/CPUTF8.java =================================================================== --- main/java/org/apache/harmony/unpack200/bytecode/CPUTF8.java (revision 676036) +++ main/java/org/apache/harmony/unpack200/bytecode/CPUTF8.java (working copy) @@ -25,6 +25,7 @@ public class CPUTF8 extends ConstantPoolEntry { private final String utf8; + private final int cachedHashCode; /** * Creates a new CPUTF8 instance @@ -40,6 +41,8 @@ if (utf8 == null) { throw new NullPointerException("Null arguments are not allowed"); } + final int PRIME = 31; + cachedHashCode = PRIME + utf8.hashCode(); } public CPUTF8(String string) { @@ -58,8 +61,7 @@ } public int hashCode() { - final int PRIME = 31; - return PRIME + utf8.hashCode(); + return cachedHashCode; } public String toString() {