| Index: src/objects-inl.h | 
| diff --git a/src/objects-inl.h b/src/objects-inl.h | 
| index a56792c5f517c0c5b729c5fa7e47acc2cf50c559..ec2ec10230f5a74d1d1fc3286e49a230486bc15c 100644 | 
| --- a/src/objects-inl.h | 
| +++ b/src/objects-inl.h | 
| @@ -6966,6 +6966,36 @@ void FlexibleBodyDescriptor<start_offset>::IterateBody(HeapObject* obj, | 
| } | 
|  | 
|  | 
| +template<class Derived, class TableType> | 
| +Object* OrderedHashTableIterator<Derived, TableType>::CurrentKey() { | 
| +  TableType* table(TableType::cast(this->table())); | 
| +  int index = Smi::cast(this->index())->value(); | 
| +  Object* key = table->KeyAt(index); | 
| +  ASSERT(!key->IsTheHole()); | 
| +  return key; | 
| +} | 
| + | 
| + | 
| +void JSSetIterator::PopulateValueArray(FixedArray* array) { | 
| +  array->set(0, CurrentKey()); | 
| +} | 
| + | 
| + | 
| +void JSMapIterator::PopulateValueArray(FixedArray* array) { | 
| +  array->set(0, CurrentKey()); | 
| +  array->set(1, CurrentValue()); | 
| +} | 
| + | 
| + | 
| +Object* JSMapIterator::CurrentValue() { | 
| +  OrderedHashMap* table(OrderedHashMap::cast(this->table())); | 
| +  int index = Smi::cast(this->index())->value(); | 
| +  Object* value = table->ValueAt(index); | 
| +  ASSERT(!value->IsTheHole()); | 
| +  return value; | 
| +} | 
| + | 
| + | 
| #undef TYPE_CHECKER | 
| #undef CAST_ACCESSOR | 
| #undef INT_ACCESSORS | 
|  |