| Index: src/heap/slot-set.h | 
| diff --git a/src/heap/slot-set.h b/src/heap/slot-set.h | 
| index f374c1d684696213b3c7c9f3a7c1ad72c03d9a14..017667b48210781e15269bf038834964528beebc 100644 | 
| --- a/src/heap/slot-set.h | 
| +++ b/src/heap/slot-set.h | 
| @@ -401,20 +401,21 @@ class TypedSlotSet { | 
| } | 
| } | 
|  | 
| +      Chunk* next = chunk->next.Value(); | 
| if (mode == PREFREE_EMPTY_CHUNKS && empty) { | 
| // We remove the chunk from the list but let it still point its next | 
| // chunk to allow concurrent iteration. | 
| if (previous) { | 
| -          previous->next.SetValue(chunk->next.Value()); | 
| +          previous->next.SetValue(next); | 
| } else { | 
| -          chunk_.SetValue(chunk->next.Value()); | 
| +          chunk_.SetValue(next); | 
| } | 
| base::LockGuard<base::Mutex> guard(&to_be_freed_chunks_mutex_); | 
| to_be_freed_chunks_.push(chunk); | 
| } else { | 
| previous = chunk; | 
| } | 
| -      chunk = chunk->next.Value(); | 
| +      chunk = next; | 
| } | 
| return new_count; | 
| } | 
|  |