| Index: src/type-feedback-vector.cc
|
| diff --git a/src/type-feedback-vector.cc b/src/type-feedback-vector.cc
|
| index 28b5830b5a9f482831c9238d04ae531ec0be16b5..698f2a6d17380d6e0771c5194e2259819b864542 100644
|
| --- a/src/type-feedback-vector.cc
|
| +++ b/src/type-feedback-vector.cc
|
| @@ -83,14 +83,6 @@
|
| for (int i = 0; i < slot_count; i++) {
|
| metadata->SetKind(FeedbackVectorSlot(i), spec->GetKind(i));
|
| }
|
| -
|
| - // It's important that the TypeFeedbackMetadata have a COW map, since it's
|
| - // pointed to by both a SharedFunctionInfo and indirectly by closures through
|
| - // the TypeFeedbackVector. The serializer uses the COW map type to decide
|
| - // this object belongs in the startup snapshot and not the partial
|
| - // snapshot(s).
|
| - metadata->set_map(isolate->heap()->fixed_cow_array_map());
|
| -
|
| return metadata;
|
| }
|
|
|
| @@ -110,21 +102,6 @@
|
| return false;
|
| }
|
|
|
| -bool TypeFeedbackMetadata::DiffersFrom(
|
| - const TypeFeedbackMetadata* other_metadata) const {
|
| - if (other_metadata->slot_count() != slot_count()) {
|
| - return true;
|
| - }
|
| -
|
| - int slots = slot_count();
|
| - for (int i = 0; i < slots; i++) {
|
| - FeedbackVectorSlot slot(i);
|
| - if (GetKind(slot) != other_metadata->GetKind(slot)) {
|
| - return true;
|
| - }
|
| - }
|
| - return false;
|
| -}
|
|
|
| const char* TypeFeedbackMetadata::Kind2String(FeedbackVectorSlotKind kind) {
|
| switch (kind) {
|
| @@ -269,26 +246,15 @@
|
| SharedFunctionInfo::Iterator iterator(isolate);
|
| SharedFunctionInfo* shared;
|
| while ((shared = iterator.Next())) {
|
| - if (!shared->OptimizedCodeMapIsCleared()) {
|
| - FixedArray* optimized_code_map = shared->optimized_code_map();
|
| - int length = optimized_code_map->length();
|
| - for (int i = SharedFunctionInfo::kEntriesStart; i < length;
|
| - i += SharedFunctionInfo::kEntryLength) {
|
| - WeakCell* cell = WeakCell::cast(
|
| - optimized_code_map->get(i + SharedFunctionInfo::kLiteralsOffset));
|
| - if (cell->value()->IsLiteralsArray()) {
|
| - TypeFeedbackVector* vector =
|
| - LiteralsArray::cast(cell->value())->feedback_vector();
|
| - vector->ClearKeyedStoreICs(shared);
|
| - }
|
| - }
|
| - }
|
| + TypeFeedbackVector* vector = shared->feedback_vector();
|
| + vector->ClearKeyedStoreICs(shared);
|
| }
|
| }
|
|
|
|
|
| void TypeFeedbackVector::ClearKeyedStoreICs(SharedFunctionInfo* shared) {
|
| Isolate* isolate = GetIsolate();
|
| +
|
| Code* host = shared->code();
|
| Object* uninitialized_sentinel =
|
| TypeFeedbackVector::RawUninitializedSentinel(isolate);
|
|
|