| Index: src/lithium-codegen.cc
 | 
| diff --git a/src/lithium-codegen.cc b/src/lithium-codegen.cc
 | 
| index 949f1b35d628b2abcf248ccd36ee94c8da35bf77..0967af9502272494badbf763406c19cecac20f9b 100644
 | 
| --- a/src/lithium-codegen.cc
 | 
| +++ b/src/lithium-codegen.cc
 | 
| @@ -173,6 +173,18 @@ int LCodeGenBase::GetNextEmittedBlock() const {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +static void AddWeakObjectToCodeDependency(Isolate* isolate,
 | 
| +                                          Handle<Object> object,
 | 
| +                                          Handle<Code> code) {
 | 
| +  Heap* heap = isolate->heap();
 | 
| +  heap->EnsureWeakObjectToCodeTable();
 | 
| +  Handle<DependentCode> dep(heap->LookupWeakObjectToCodeDependency(*object));
 | 
| +  dep = DependentCode::Insert(dep, DependentCode::kWeakCodeGroup, code);
 | 
| +  CALL_HEAP_FUNCTION_VOID(isolate,
 | 
| +                          heap->AddWeakObjectToCodeDependency(*object, *dep));
 | 
| +}
 | 
| +
 | 
| +
 | 
|  void LCodeGenBase::RegisterWeakObjectsInOptimizedCode(Handle<Code> code) {
 | 
|    ASSERT(code->is_optimized_code());
 | 
|    ZoneList<Handle<Map> > maps(1, zone());
 | 
| @@ -214,10 +226,10 @@ void LCodeGenBase::RegisterWeakObjectsInOptimizedCode(Handle<Code> code) {
 | 
|      Map::AddDependentCode(maps.at(i), DependentCode::kWeakCodeGroup, code);
 | 
|    }
 | 
|    for (int i = 0; i < objects.length(); i++) {
 | 
| -    AddWeakObjectToCodeDependency(isolate()->heap(), objects.at(i), code);
 | 
| +    AddWeakObjectToCodeDependency(isolate(), objects.at(i), code);
 | 
|    }
 | 
|    for (int i = 0; i < cells.length(); i++) {
 | 
| -    AddWeakObjectToCodeDependency(isolate()->heap(), cells.at(i), code);
 | 
| +    AddWeakObjectToCodeDependency(isolate(), cells.at(i), code);
 | 
|    }
 | 
|  }
 | 
|  
 | 
| 
 |