@@ -88,8 +88,9 @@ export class Map<K,V> {
88
88
changetype < usize > ( this . buckets ) + < usize > ( hashCode & this . bucketsMask ) * BUCKET_SIZE
89
89
) ;
90
90
while ( entry ) {
91
- if ( ! ( entry . taggedNext & EMPTY ) && entry . key == key ) return entry ;
92
- entry = changetype < MapEntry < K , V > > ( entry . taggedNext & ~ EMPTY ) ;
91
+ let taggedNext = entry . taggedNext ;
92
+ if ( ! ( taggedNext & EMPTY ) && entry . key == key ) return entry ;
93
+ entry = changetype < MapEntry < K , V > > ( taggedNext & ~ EMPTY ) ;
93
94
}
94
95
return null ;
95
96
}
@@ -177,9 +178,10 @@ export class Map<K,V> {
177
178
let oldEntry = changetype < MapEntry < K , V > > ( oldPtr ) ;
178
179
if ( ! ( oldEntry . taggedNext & EMPTY ) ) {
179
180
let newEntry = changetype < MapEntry < K , V > > ( newPtr ) ;
180
- newEntry . key = oldEntry . key ;
181
+ let oldEntryKey = oldEntry . key ;
182
+ newEntry . key = oldEntryKey ;
181
183
newEntry . value = oldEntry . value ;
182
- let newBucketIndex = HASH < K > ( oldEntry . key ) & newBucketsMask ;
184
+ let newBucketIndex = HASH < K > ( oldEntryKey ) & newBucketsMask ;
183
185
let newBucketPtrBase = changetype < usize > ( newBuckets ) + < usize > newBucketIndex * BUCKET_SIZE ;
184
186
newEntry . taggedNext = load < usize > ( newBucketPtrBase ) ;
185
187
store < usize > ( newBucketPtrBase , newPtr ) ;
0 commit comments