Index: src/compiler.cc |
diff --git a/src/compiler.cc b/src/compiler.cc |
index 445c46e2e02ff63b1545757e9ecfa01cf25e9bcf..71b6803ea0d2e70934899f67a1da0776d1b162f7 100644 |
--- a/src/compiler.cc |
+++ b/src/compiler.cc |
@@ -286,9 +286,14 @@ void AddWeakObjectToCodeDependency(Isolate* isolate, Handle<HeapObject> object, |
Handle<Code> code) { |
Handle<WeakCell> cell = Code::WeakCellFor(code); |
Heap* heap = isolate->heap(); |
- Handle<DependentCode> dep(heap->LookupWeakObjectToCodeDependency(object)); |
- dep = DependentCode::InsertWeakCode(dep, DependentCode::kWeakCodeGroup, cell); |
- heap->AddWeakObjectToCodeDependency(object, dep); |
+ if (heap->InNewSpace(*object)) { |
+ heap->RecordWeakCodeToNewSpaceReference(object, cell); |
ulan
2016/06/08 14:37:00
Could you rename it to AddWeakNewSpaceObjectToCode
ahaas
2016/06/09 10:34:32
Done. I named it differently because no DependentC
|
+ } else { |
+ Handle<DependentCode> dep(heap->LookupWeakObjectToCodeDependency(object)); |
+ dep = |
+ DependentCode::InsertWeakCode(dep, DependentCode::kWeakCodeGroup, cell); |
+ heap->AddWeakObjectToCodeDependency(object, dep); |
+ } |
} |
} // namespace |