Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index d3e58e8a000da26a8c20b52cd1b54a3582db701c..89451524076a19e5a7356515e00db8c9e2304bb7 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -1574,14 +1574,6 @@ |
HeapStringAllocator allocator; |
StringStream accumulator(&allocator); |
PropertyCell::cast(this)->value()->ShortPrint(&accumulator); |
- os << accumulator.ToCString().get(); |
- break; |
- } |
- case WEAK_CELL_TYPE: { |
- os << "WeakCell for "; |
- HeapStringAllocator allocator; |
- StringStream accumulator(&allocator); |
- WeakCell::cast(this)->value()->ShortPrint(&accumulator); |
os << accumulator.ToCString().get(); |
break; |
} |
@@ -3430,21 +3422,6 @@ |
} |
return false; |
-} |
- |
- |
-Handle<WeakCell> Map::WeakCellForMap(Handle<Map> map) { |
- Isolate* isolate = map->GetIsolate(); |
- if (map->code_cache()->IsFixedArray()) { |
- return isolate->factory()->NewWeakCell(map); |
- } |
- Handle<CodeCache> code_cache(CodeCache::cast(map->code_cache()), isolate); |
- if (code_cache->weak_cell_cache()->IsWeakCell()) { |
- return Handle<WeakCell>(WeakCell::cast(code_cache->weak_cell_cache())); |
- } |
- Handle<WeakCell> weak_cell = isolate->factory()->NewWeakCell(map); |
- code_cache->set_weak_cell_cache(*weak_cell); |
- return weak_cell; |
} |
@@ -10590,7 +10567,6 @@ |
for (RelocIterator it(this, mask); !it.done(); it.next()) { |
RelocInfo* info = it.rinfo(); |
Object* object = info->target_object(); |
- if (object->IsWeakCell()) object = WeakCell::cast(object)->value(); |
if (object->IsHeapObject()) { |
if (HeapObject::cast(object)->map() == match_map) { |
if (--n == 0) return object; |
@@ -10623,7 +10599,6 @@ |
RelocInfo* info = it.rinfo(); |
Object* object = info->target_object(); |
if (object->IsHeapObject()) { |
- DCHECK(!object->IsWeakCell()); |
Map* map = HeapObject::cast(object)->map(); |
if (map == *pattern.find_[current_pattern]) { |
info->set_target_object(*pattern.replace_[current_pattern]); |
@@ -10642,7 +10617,6 @@ |
for (RelocIterator it(this, mask); !it.done(); it.next()) { |
RelocInfo* info = it.rinfo(); |
Object* object = info->target_object(); |
- if (object->IsWeakCell()) object = WeakCell::cast(object)->value(); |
if (object->IsMap()) maps->Add(handle(Map::cast(object))); |
} |
} |
@@ -10651,21 +10625,11 @@ |
Code* Code::FindFirstHandler() { |
DCHECK(is_inline_cache_stub()); |
DisallowHeapAllocation no_allocation; |
- int mask = RelocInfo::ModeMask(RelocInfo::CODE_TARGET) | |
- RelocInfo::ModeMask(RelocInfo::EMBEDDED_OBJECT); |
- bool skip_next_handler = false; |
+ int mask = RelocInfo::ModeMask(RelocInfo::CODE_TARGET); |
for (RelocIterator it(this, mask); !it.done(); it.next()) { |
RelocInfo* info = it.rinfo(); |
- if (info->rmode() == RelocInfo::EMBEDDED_OBJECT) { |
- Object* obj = info->target_object(); |
- skip_next_handler |= obj->IsWeakCell() && WeakCell::cast(obj)->cleared(); |
- } else { |
- Code* code = Code::GetCodeFromTargetAddress(info->target_address()); |
- if (code->kind() == Code::HANDLER) { |
- if (!skip_next_handler) return code; |
- skip_next_handler = false; |
- } |
- } |
+ Code* code = Code::GetCodeFromTargetAddress(info->target_address()); |
+ if (code->kind() == Code::HANDLER) return code; |
} |
return NULL; |
} |
@@ -10674,27 +10638,17 @@ |
bool Code::FindHandlers(CodeHandleList* code_list, int length) { |
DCHECK(is_inline_cache_stub()); |
DisallowHeapAllocation no_allocation; |
- int mask = RelocInfo::ModeMask(RelocInfo::CODE_TARGET) | |
- RelocInfo::ModeMask(RelocInfo::EMBEDDED_OBJECT); |
- bool skip_next_handler = false; |
+ int mask = RelocInfo::ModeMask(RelocInfo::CODE_TARGET); |
int i = 0; |
for (RelocIterator it(this, mask); !it.done(); it.next()) { |
if (i == length) return true; |
RelocInfo* info = it.rinfo(); |
- if (info->rmode() == RelocInfo::EMBEDDED_OBJECT) { |
- Object* obj = info->target_object(); |
- skip_next_handler |= obj->IsWeakCell() && WeakCell::cast(obj)->cleared(); |
- } else { |
- Code* code = Code::GetCodeFromTargetAddress(info->target_address()); |
- // IC stubs with handlers never contain non-handler code objects before |
- // handler targets. |
- if (code->kind() != Code::HANDLER) break; |
- if (!skip_next_handler) { |
- code_list->Add(Handle<Code>(code)); |
- i++; |
- } |
- skip_next_handler = false; |
- } |
+ Code* code = Code::GetCodeFromTargetAddress(info->target_address()); |
+ // IC stubs with handlers never contain non-handler code objects before |
+ // handler targets. |
+ if (code->kind() != Code::HANDLER) break; |
+ code_list->Add(Handle<Code>(code)); |
+ i++; |
} |
return i == length; |
} |
@@ -10709,7 +10663,6 @@ |
RelocInfo* info = it.rinfo(); |
if (info->rmode() == RelocInfo::EMBEDDED_OBJECT) { |
Object* object = info->target_object(); |
- if (object->IsWeakCell()) object = WeakCell::cast(object)->value(); |
if (object == map) return_next = true; |
} else if (return_next) { |
Code* code = Code::GetCodeFromTargetAddress(info->target_address()); |