| Index: src/type-feedback-vector.h
|
| diff --git a/src/type-feedback-vector.h b/src/type-feedback-vector.h
|
| index a71e978ba9117798e5d5a0c32fa9ece7023e407f..0c741a37bba9c17d65889f4d5459823ea3fba47a 100644
|
| --- a/src/type-feedback-vector.h
|
| +++ b/src/type-feedback-vector.h
|
| @@ -31,8 +31,6 @@
|
| INTERPRETER_BINARYOP_IC,
|
| INTERPRETER_COMPARE_IC,
|
|
|
| - // This kind of slot has an integer parameter associated with it.
|
| - CREATE_CLOSURE,
|
| // This is a general purpose slot that occupies one feedback vector element.
|
| GENERAL,
|
|
|
| @@ -57,11 +55,6 @@
|
|
|
| FeedbackVectorSlot AddLoadGlobalICSlot() {
|
| return AddSlot(FeedbackVectorSlotKind::LOAD_GLOBAL_IC);
|
| - }
|
| -
|
| - FeedbackVectorSlot AddCreateClosureSlot(int size) {
|
| - This()->append_parameter(size);
|
| - return AddSlot(FeedbackVectorSlotKind::CREATE_CLOSURE);
|
| }
|
|
|
| FeedbackVectorSlot AddKeyedLoadICSlot() {
|
| @@ -103,7 +96,7 @@
|
| class StaticFeedbackVectorSpec
|
| : public FeedbackVectorSpecBase<StaticFeedbackVectorSpec> {
|
| public:
|
| - StaticFeedbackVectorSpec() : slot_count_(0), parameters_count_(0) {}
|
| + StaticFeedbackVectorSpec() : slot_count_(0) {}
|
|
|
| int slots() const { return slot_count_; }
|
|
|
| @@ -112,13 +105,6 @@
|
| return kinds_[slot];
|
| }
|
|
|
| - int parameters_count() const { return parameters_count_; }
|
| -
|
| - int GetParameter(int index) const {
|
| - DCHECK(index >= 0 && index < parameters_count_);
|
| - return parameters_[index];
|
| - }
|
| -
|
| private:
|
| friend class FeedbackVectorSpecBase<StaticFeedbackVectorSpec>;
|
|
|
| @@ -127,26 +113,17 @@
|
| kinds_[slot_count_++] = kind;
|
| }
|
|
|
| - void append_parameter(int parameter) {
|
| - DCHECK(parameters_count_ < kMaxLength);
|
| - parameters_[parameters_count_++] = parameter;
|
| - }
|
| -
|
| static const int kMaxLength = 12;
|
|
|
| int slot_count_;
|
| FeedbackVectorSlotKind kinds_[kMaxLength];
|
| - int parameters_count_;
|
| - int parameters_[kMaxLength];
|
| };
|
|
|
|
|
| class FeedbackVectorSpec : public FeedbackVectorSpecBase<FeedbackVectorSpec> {
|
| public:
|
| - explicit FeedbackVectorSpec(Zone* zone)
|
| - : slot_kinds_(zone), parameters_(zone) {
|
| + explicit FeedbackVectorSpec(Zone* zone) : slot_kinds_(zone) {
|
| slot_kinds_.reserve(16);
|
| - parameters_.reserve(8);
|
| }
|
|
|
| int slots() const { return static_cast<int>(slot_kinds_.size()); }
|
| @@ -155,10 +132,6 @@
|
| return static_cast<FeedbackVectorSlotKind>(slot_kinds_.at(slot));
|
| }
|
|
|
| - int parameters_count() const { return static_cast<int>(parameters_.size()); }
|
| -
|
| - int GetParameter(int index) const { return parameters_.at(index); }
|
| -
|
| private:
|
| friend class FeedbackVectorSpecBase<FeedbackVectorSpec>;
|
|
|
| @@ -166,18 +139,14 @@
|
| slot_kinds_.push_back(static_cast<unsigned char>(kind));
|
| }
|
|
|
| - void append_parameter(int parameter) { parameters_.push_back(parameter); }
|
| -
|
| ZoneVector<unsigned char> slot_kinds_;
|
| - ZoneVector<int> parameters_;
|
| };
|
|
|
|
|
| // The shape of the TypeFeedbackMetadata is an array with:
|
| // 0: slot_count
|
| // 1: names table
|
| -// 2: parameters table
|
| -// 3..N: slot kinds packed into a bit vector
|
| +// 2..N: slot kinds packed into a bit vector
|
| //
|
| class TypeFeedbackMetadata : public FixedArray {
|
| public:
|
| @@ -185,15 +154,11 @@
|
| static inline TypeFeedbackMetadata* cast(Object* obj);
|
|
|
| static const int kSlotsCountIndex = 0;
|
| - static const int kParametersTableIndex = 1;
|
| - static const int kReservedIndexCount = 2;
|
| + static const int kReservedIndexCount = 1;
|
|
|
| // Returns number of feedback vector elements used by given slot kind.
|
| static inline int GetSlotSize(FeedbackVectorSlotKind kind);
|
|
|
| - // Defines if slots of given kind require "parameter".
|
| - static inline bool SlotRequiresParameter(FeedbackVectorSlotKind kind);
|
| -
|
| bool SpecDiffersFrom(const FeedbackVectorSpec* other_spec) const;
|
|
|
| bool DiffersFrom(const TypeFeedbackMetadata* other_metadata) const;
|
| @@ -205,9 +170,6 @@
|
|
|
| // Returns slot kind for given slot.
|
| FeedbackVectorSlotKind GetKind(FeedbackVectorSlot slot) const;
|
| -
|
| - // Returns parameter for given index (note: this is not the slot)
|
| - int GetParameter(int parameter_index) const;
|
|
|
| template <typename Spec>
|
| static Handle<TypeFeedbackMetadata> New(Isolate* isolate, const Spec* spec);
|
| @@ -277,8 +239,6 @@
|
|
|
| // Returns slot kind for given slot.
|
| FeedbackVectorSlotKind GetKind(FeedbackVectorSlot slot) const;
|
| - // Returns parameter corresponding to given slot or -1.
|
| - int GetParameter(FeedbackVectorSlot slot) const;
|
|
|
| static Handle<TypeFeedbackVector> New(Isolate* isolate,
|
| Handle<TypeFeedbackMetadata> metadata);
|
|
|