| Index: src/type-feedback-vector.cc
|
| diff --git a/src/type-feedback-vector.cc b/src/type-feedback-vector.cc
|
| index 267fd862edc8bed19ffbae4468767e4f5b23c73f..546139e481e63a154198592c084029b3dcf3bbd9 100644
|
| --- a/src/type-feedback-vector.cc
|
| +++ b/src/type-feedback-vector.cc
|
| @@ -37,11 +37,6 @@ FeedbackVectorSlotKind TypeFeedbackMetadata::GetKind(
|
| return VectorICComputer::decode(data, slot.ToInt());
|
| }
|
|
|
| -int TypeFeedbackMetadata::GetParameter(int parameter_index) const {
|
| - FixedArray* parameters = FixedArray::cast(get(kParametersTableIndex));
|
| - return Smi::cast(parameters->get(parameter_index))->value();
|
| -}
|
| -
|
| void TypeFeedbackMetadata::SetKind(FeedbackVectorSlot slot,
|
| FeedbackVectorSlotKind kind) {
|
| int index = VectorICComputer::index(kReservedIndexCount, slot.ToInt());
|
| @@ -96,18 +91,6 @@ Handle<TypeFeedbackMetadata> TypeFeedbackMetadata::New(Isolate* isolate,
|
| metadata->SetKind(FeedbackVectorSlot(i), kind);
|
| }
|
|
|
| - if (spec->parameters_count() > 0) {
|
| - const int parameters_count = spec->parameters_count();
|
| - Handle<FixedArray> params_array =
|
| - factory->NewFixedArray(parameters_count, TENURED);
|
| - for (int i = 0; i < parameters_count; i++) {
|
| - params_array->set(i, Smi::FromInt(spec->GetParameter(i)));
|
| - }
|
| - metadata->set(kParametersTableIndex, *params_array);
|
| - } else {
|
| - metadata->set(kParametersTableIndex, *factory->empty_fixed_array());
|
| - }
|
| -
|
| // 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
|
| @@ -125,7 +108,6 @@ bool TypeFeedbackMetadata::SpecDiffersFrom(
|
| }
|
|
|
| int slots = slot_count();
|
| - int parameter_index = 0;
|
| for (int i = 0; i < slots;) {
|
| FeedbackVectorSlot slot(i);
|
| FeedbackVectorSlotKind kind = GetKind(slot);
|
| @@ -134,14 +116,6 @@ bool TypeFeedbackMetadata::SpecDiffersFrom(
|
| if (kind != other_spec->GetKind(i)) {
|
| return true;
|
| }
|
| - if (SlotRequiresParameter(kind)) {
|
| - int parameter = GetParameter(parameter_index);
|
| - int other_parameter = other_spec->GetParameter(parameter_index);
|
| - if (parameter != other_parameter) {
|
| - return true;
|
| - }
|
| - parameter_index++;
|
| - }
|
| i += entry_size;
|
| }
|
| return false;
|
| @@ -154,7 +128,6 @@ bool TypeFeedbackMetadata::DiffersFrom(
|
| }
|
|
|
| int slots = slot_count();
|
| - int parameter_index = 0;
|
| for (int i = 0; i < slots;) {
|
| FeedbackVectorSlot slot(i);
|
| FeedbackVectorSlotKind kind = GetKind(slot);
|
| @@ -162,13 +135,6 @@ bool TypeFeedbackMetadata::DiffersFrom(
|
| if (GetKind(slot) != other_metadata->GetKind(slot)) {
|
| return true;
|
| }
|
| - if (SlotRequiresParameter(kind)) {
|
| - if (GetParameter(parameter_index) !=
|
| - other_metadata->GetParameter(parameter_index)) {
|
| - return true;
|
| - }
|
| - parameter_index++;
|
| - }
|
| i += entry_size;
|
| }
|
| return false;
|
| @@ -213,13 +179,6 @@ FeedbackVectorSlotKind TypeFeedbackVector::GetKind(
|
| return metadata()->GetKind(slot);
|
| }
|
|
|
| -int TypeFeedbackVector::GetParameter(FeedbackVectorSlot slot) const {
|
| - DCHECK(!is_empty());
|
| - DCHECK(
|
| - TypeFeedbackMetadata::SlotRequiresParameter(metadata()->GetKind(slot)));
|
| - return FixedArray::cast(Get(slot))->length();
|
| -}
|
| -
|
| // static
|
| Handle<TypeFeedbackVector> TypeFeedbackVector::New(
|
| Isolate* isolate, Handle<TypeFeedbackMetadata> metadata) {
|
| @@ -236,7 +195,6 @@ Handle<TypeFeedbackVector> TypeFeedbackVector::New(
|
| array->set_map_no_write_barrier(isolate->heap()->type_feedback_vector_map());
|
| array->set(kMetadataIndex, *metadata);
|
| array->set(kInvocationCountIndex, Smi::kZero);
|
| - int parameter_index = 0;
|
| for (int i = 0; i < slot_count;) {
|
| FeedbackVectorSlot slot(i);
|
| FeedbackVectorSlotKind kind = metadata->GetKind(slot);
|
| @@ -244,18 +202,8 @@ Handle<TypeFeedbackVector> TypeFeedbackVector::New(
|
| int entry_size = TypeFeedbackMetadata::GetSlotSize(kind);
|
|
|
| if (kind == FeedbackVectorSlotKind::CREATE_CLOSURE) {
|
| - // This fixed array is filled with undefined.
|
| - int length = metadata->GetParameter(parameter_index++);
|
| - if (length == 0) {
|
| - // This is a native function literal. We can always point to
|
| - // the empty literals array here.
|
| - array->set(index, *factory->empty_literals_array(), SKIP_WRITE_BARRIER);
|
| - } else {
|
| - // TODO(mvstanton): Create the array.
|
| - // Handle<FixedArray> value = factory->NewFixedArray(length);
|
| - // array->set(index, *value);
|
| - array->set(index, *factory->empty_literals_array(), SKIP_WRITE_BARRIER);
|
| - }
|
| + // TODO(mvstanton): Root literal arrays in this location.
|
| + array->set(index, *factory->empty_literals_array(), SKIP_WRITE_BARRIER);
|
| }
|
| i += entry_size;
|
| }
|
|
|