Return-Path: Delivered-To: apmail-incubator-harmony-commits-archive@www.apache.org Received: (qmail 77334 invoked from network); 6 Sep 2006 21:09:06 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 6 Sep 2006 21:09:06 -0000 Received: (qmail 5445 invoked by uid 500); 6 Sep 2006 21:09:06 -0000 Delivered-To: apmail-incubator-harmony-commits-archive@incubator.apache.org Received: (qmail 5347 invoked by uid 500); 6 Sep 2006 21:09:06 -0000 Mailing-List: contact harmony-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: harmony-dev@incubator.apache.org Delivered-To: mailing list harmony-commits@incubator.apache.org Received: (qmail 5336 invoked by uid 99); 6 Sep 2006 21:09:06 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 06 Sep 2006 14:09:06 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [140.211.166.113] (HELO eris.apache.org) (140.211.166.113) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 06 Sep 2006 14:09:05 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 53F911A981D; Wed, 6 Sep 2006 14:08:45 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r440871 [2/2] - /incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/internal/reflect/ Date: Wed, 06 Sep 2006 21:08:44 -0000 To: harmony-commits@incubator.apache.org From: ndbeyer@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20060906210845.53F911A981D@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Modified: incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/internal/reflect/ProxyNameAndTypeCache.java URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/internal/reflect/ProxyNameAndTypeCache.java?view=diff&rev=440871&r1=440870&r2=440871 ============================================================================== --- incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/internal/reflect/ProxyNameAndTypeCache.java (original) +++ incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/internal/reflect/ProxyNameAndTypeCache.java Wed Sep 6 14:08:44 2006 @@ -15,82 +15,89 @@ package org.apache.harmony.luni.internal.reflect; - class ProxyNameAndTypeCache { - int[][] keyTable; + int[][] keyTable; - int[] valueTable; + int[] valueTable; - int elementSize; + int elementSize; - int threshold; + int threshold; - ProxyNameAndTypeCache(int initialCapacity) { - if (initialCapacity < 13) - initialCapacity = 13; - this.elementSize = 0; - this.threshold = (int) (initialCapacity * 0.66f); - this.keyTable = new int[initialCapacity][]; - this.valueTable = new int[initialCapacity]; - } - - int get(int[] key) { - int index = hashCode(key); - while (keyTable[index] != null) { - if (keyTable[index][0] == key[0] && keyTable[index][1] == key[1]) - return valueTable[index]; - index = (index + 1) % keyTable.length; - } - return -1; - } - - int hashCode(int[] key) { - return (key[0] + key[1]) % keyTable.length; - } - - int put(int[] key, int value) { - int index = hashCode(key); - while (keyTable[index] != null) { - if (keyTable[index][0] == key[0] && keyTable[index][1] == key[1]) - return valueTable[index] = value; - index = (index + 1) % keyTable.length; - } - keyTable[index] = key; - valueTable[index] = value; - - // assumes the threshold is never equal to the size of the table - if (++elementSize > threshold) - rehash(); - return value; - } - - private void rehash() { - ProxyNameAndTypeCache newHashtable = new ProxyNameAndTypeCache( - keyTable.length * 2); - for (int i = keyTable.length; --i >= 0;) - if (keyTable[i] != null) - newHashtable.put(keyTable[i], valueTable[i]); - - this.keyTable = newHashtable.keyTable; - this.valueTable = newHashtable.valueTable; - this.threshold = newHashtable.threshold; - } - - int size() { - return elementSize; - } - - public String toString() { - int max = size(); - StringBuffer buf = new StringBuffer(); - buf.append("{"); - for (int i = 0; i < max; ++i) { - if (keyTable[i] != null) - buf.append(keyTable[i]).append("->").append(valueTable[i]); - if (i < max) - buf.append(", "); - } - buf.append("}"); - return buf.toString(); - } + ProxyNameAndTypeCache(int initialCapacity) { + if (initialCapacity < 13) { + initialCapacity = 13; + } + this.elementSize = 0; + this.threshold = (int) (initialCapacity * 0.66f); + this.keyTable = new int[initialCapacity][]; + this.valueTable = new int[initialCapacity]; + } + + int get(int[] key) { + int index = hashCode(key); + while (keyTable[index] != null) { + if (keyTable[index][0] == key[0] && keyTable[index][1] == key[1]) { + return valueTable[index]; + } + index = (index + 1) % keyTable.length; + } + return -1; + } + + int hashCode(int[] key) { + return (key[0] + key[1]) % keyTable.length; + } + + int put(int[] key, int value) { + int index = hashCode(key); + while (keyTable[index] != null) { + if (keyTable[index][0] == key[0] && keyTable[index][1] == key[1]) { + return valueTable[index] = value; + } + index = (index + 1) % keyTable.length; + } + keyTable[index] = key; + valueTable[index] = value; + + // assumes the threshold is never equal to the size of the table + if (++elementSize > threshold) { + rehash(); + } + return value; + } + + private void rehash() { + ProxyNameAndTypeCache newHashtable = new ProxyNameAndTypeCache(keyTable.length * 2); + for (int i = keyTable.length; --i >= 0;) { + if (keyTable[i] != null) { + newHashtable.put(keyTable[i], valueTable[i]); + } + } + + this.keyTable = newHashtable.keyTable; + this.valueTable = newHashtable.valueTable; + this.threshold = newHashtable.threshold; + } + + int size() { + return elementSize; + } + + @Override + public String toString() { + int max = size(); + StringBuilder buf = new StringBuilder(); + buf.append("{"); + for (int i = 0; i < max; ++i) { + if (keyTable[i] != null) { + buf.append(keyTable[i]).append("->").append(valueTable[i]); + } + if (i < max) { + buf.append(", "); + } + } + buf.append("}"); + return buf.toString(); + } } Modified: incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/internal/reflect/ProxyObjectCache.java URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/internal/reflect/ProxyObjectCache.java?view=diff&rev=440871&r1=440870&r2=440871 ============================================================================== --- incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/internal/reflect/ProxyObjectCache.java (original) +++ incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/internal/reflect/ProxyObjectCache.java Wed Sep 6 14:08:44 2006 @@ -15,82 +15,89 @@ package org.apache.harmony.luni.internal.reflect; - class ProxyObjectCache { - Object keyTable[]; + Object keyTable[]; - int valueTable[]; + int valueTable[]; - int elementSize; + int elementSize; - int threshold; + int threshold; - ProxyObjectCache(int initialCapacity) { - if (initialCapacity < 13) - initialCapacity = 13; - this.elementSize = 0; - this.threshold = (int) (initialCapacity * 0.66f); - this.keyTable = new Object[initialCapacity]; - this.valueTable = new int[initialCapacity]; - } - - int get(Object key) { - int index = hashCode(key); - while (keyTable[index] != null) { - if (keyTable[index].equals(key)) - return valueTable[index]; - index = (index + 1) % keyTable.length; - } - return -1; - } - - int hashCode(Object key) { - return (key.hashCode() & 0x7FFFFFFF) % keyTable.length; - } - - int put(Object key, int value) { - int index = hashCode(key); - while (keyTable[index] != null) { - if (keyTable[index].equals(key)) - return valueTable[index] = value; - index = (index + 1) % keyTable.length; - } - keyTable[index] = key; - valueTable[index] = value; - - // assumes the threshold is never equal to the size of the table - if (++elementSize > threshold) - rehash(); - return value; - } - - private void rehash() { - ProxyObjectCache newHashtable = new ProxyObjectCache( - keyTable.length * 2); - for (int i = keyTable.length; --i >= 0;) - if (keyTable[i] != null) - newHashtable.put(keyTable[i], valueTable[i]); - - this.keyTable = newHashtable.keyTable; - this.valueTable = newHashtable.valueTable; - this.threshold = newHashtable.threshold; - } - - int size() { - return elementSize; - } - - public String toString() { - int max = size(); - StringBuffer buf = new StringBuffer(); - buf.append("{"); - for (int i = 0; i < max; ++i) { - if (keyTable[i] != null) - buf.append(keyTable[i]).append("->").append(valueTable[i]); - if (i < max) - buf.append(", "); - } - buf.append("}"); - return buf.toString(); - } + ProxyObjectCache(int initialCapacity) { + if (initialCapacity < 13) { + initialCapacity = 13; + } + this.elementSize = 0; + this.threshold = (int) (initialCapacity * 0.66f); + this.keyTable = new Object[initialCapacity]; + this.valueTable = new int[initialCapacity]; + } + + int get(Object key) { + int index = hashCode(key); + while (keyTable[index] != null) { + if (keyTable[index].equals(key)) { + return valueTable[index]; + } + index = (index + 1) % keyTable.length; + } + return -1; + } + + int hashCode(Object key) { + return (key.hashCode() & 0x7FFFFFFF) % keyTable.length; + } + + int put(Object key, int value) { + int index = hashCode(key); + while (keyTable[index] != null) { + if (keyTable[index].equals(key)) { + return valueTable[index] = value; + } + index = (index + 1) % keyTable.length; + } + keyTable[index] = key; + valueTable[index] = value; + + // assumes the threshold is never equal to the size of the table + if (++elementSize > threshold) { + rehash(); + } + return value; + } + + private void rehash() { + ProxyObjectCache newHashtable = new ProxyObjectCache(keyTable.length * 2); + for (int i = keyTable.length; --i >= 0;) { + if (keyTable[i] != null) { + newHashtable.put(keyTable[i], valueTable[i]); + } + } + + this.keyTable = newHashtable.keyTable; + this.valueTable = newHashtable.valueTable; + this.threshold = newHashtable.threshold; + } + + int size() { + return elementSize; + } + + @Override + public String toString() { + int max = size(); + StringBuilder buf = new StringBuilder(); + buf.append("{"); + for (int i = 0; i < max; ++i) { + if (keyTable[i] != null) { + buf.append(keyTable[i]).append("->").append(valueTable[i]); + } + if (i < max) { + buf.append(", "); + } + } + buf.append("}"); + return buf.toString(); + } }