OSDN Git Service

dalvik: return positive hash code in Dalvik with Houdini
[android-x86/dalvik.git] / vm / Hash.cpp
index bf57ae1..cd4530a 100644 (file)
@@ -290,9 +290,11 @@ bool dvmHashTableRemove(HashTable* pHashTable, u4 itemHash, void* item)
  */
 int dvmHashForeachRemove(HashTable* pHashTable, HashForeachRemoveFunc func)
 {
-    int i, val;
+    int i, val, tableSize;
 
-    for (i = 0; i < pHashTable->tableSize; i++) {
+    tableSize = pHashTable->tableSize;
+
+    for (i = 0; i < tableSize; i++) {
         HashEntry* pEnt = &pHashTable->pEntries[i];
 
         if (pEnt->data != NULL && pEnt->data != HASH_TOMBSTONE) {
@@ -318,9 +320,11 @@ int dvmHashForeachRemove(HashTable* pHashTable, HashForeachRemoveFunc func)
  */
 int dvmHashForeach(HashTable* pHashTable, HashForeachFunc func, void* arg)
 {
-    int i, val;
+    int i, val, tableSize;
 
-    for (i = 0; i < pHashTable->tableSize; i++) {
+    tableSize = pHashTable->tableSize;
+
+    for (i = 0; i < tableSize; i++) {
         HashEntry* pEnt = &pHashTable->pEntries[i];
 
         if (pEnt->data != NULL && pEnt->data != HASH_TOMBSTONE) {