| Index: src/ic.h
 | 
| diff --git a/src/ic.h b/src/ic.h
 | 
| index 904ab184d231f34b6d831bd25b0869e3099540d3..41882e66890809936332c66762d85094bd4756c4 100644
 | 
| --- a/src/ic.h
 | 
| +++ b/src/ic.h
 | 
| @@ -42,7 +42,6 @@ const int kMaxKeyedPolymorphism = 4;
 | 
|  #define IC_UTIL_LIST(ICU)                             \
 | 
|    ICU(LoadIC_Miss)                                    \
 | 
|    ICU(KeyedLoadIC_Miss)                               \
 | 
| -  ICU(CallIC_Miss)                                    \
 | 
|    ICU(StoreIC_Miss)                                   \
 | 
|    ICU(StoreIC_ArrayLength)                            \
 | 
|    ICU(StoreIC_Slow)                                   \
 | 
| @@ -120,10 +119,6 @@ class IC {
 | 
|    bool IsStoreStub() const {
 | 
|      return target()->is_store_stub() || target()->is_keyed_store_stub();
 | 
|    }
 | 
| -
 | 
| -  bool IsCallStub() const {
 | 
| -    return target()->is_call_stub();
 | 
| -  }
 | 
|  #endif
 | 
|  
 | 
|    // Determines which map must be used for keeping the code stub.
 | 
| @@ -344,128 +339,6 @@ class IC_Utility {
 | 
|  };
 | 
|  
 | 
|  
 | 
| -class CallIC: public IC {
 | 
| - public:
 | 
| -  enum CallType { METHOD, FUNCTION };
 | 
| -  enum StubType { DEFAULT, MONOMORPHIC };
 | 
| -  enum ArgumentCheck { ARGUMENTS_MUST_MATCH, ARGUMENTS_COUNT_UNKNOWN };
 | 
| -
 | 
| -  class State V8_FINAL BASE_EMBEDDED {
 | 
| -   public:
 | 
| -    explicit State(ExtraICState extra_ic_state);
 | 
| -
 | 
| -    static State MonomorphicCallState(int argc, CallType call_type,
 | 
| -                                      ArgumentCheck argument_check,
 | 
| -                                      StrictMode strict_mode) {
 | 
| -      return State(argc, call_type, MONOMORPHIC, argument_check, strict_mode);
 | 
| -    }
 | 
| -
 | 
| -    static State SlowCallState(int argc, CallType call_type) {
 | 
| -      return State(argc, call_type, DEFAULT, ARGUMENTS_COUNT_UNKNOWN,
 | 
| -                   SLOPPY);
 | 
| -    }
 | 
| -
 | 
| -    static State DefaultCallState(int argc, CallType call_type) {
 | 
| -      return State(argc, call_type, DEFAULT, ARGUMENTS_MUST_MATCH,
 | 
| -                   SLOPPY);
 | 
| -    }
 | 
| -
 | 
| -    // Transition from the current state to another.
 | 
| -    State ToGenericState();
 | 
| -    State ToMonomorphicState(Handle<JSFunction> function);
 | 
| -
 | 
| -    InlineCacheState GetICState() const {
 | 
| -      return stub_type_ == CallIC::MONOMORPHIC
 | 
| -          ? ::v8::internal::MONOMORPHIC
 | 
| -          : ::v8::internal::GENERIC;
 | 
| -    }
 | 
| -
 | 
| -    ExtraICState GetExtraICState() const;
 | 
| -
 | 
| -    static void GenerateAheadOfTime(
 | 
| -        Isolate*, void (*Generate)(Isolate*, const State&));
 | 
| -
 | 
| -    int arg_count() const { return argc_; }
 | 
| -    CallType call_type() const { return call_type_; }
 | 
| -    StubType stub_type() const { return stub_type_; }
 | 
| -    ArgumentCheck argument_check() const { return argument_check_; }
 | 
| -    StrictMode strict_mode() const {
 | 
| -      return strict_mode_;
 | 
| -    }
 | 
| -
 | 
| -    bool ArgumentsMustMatch() const {
 | 
| -      return argument_check_ == ARGUMENTS_MUST_MATCH;
 | 
| -    }
 | 
| -    bool IsGeneric() const { return stub_type_ == DEFAULT; }
 | 
| -    bool CallAsMethod() const { return call_type_ == METHOD; }
 | 
| -    bool IsSloppy() const {
 | 
| -      return strict_mode_ == SLOPPY;
 | 
| -    }
 | 
| -
 | 
| -    void Print(StringStream* stream) const;
 | 
| -
 | 
| -    bool operator==(const State& other_state) const {
 | 
| -      return (argc_ == other_state.argc_ &&
 | 
| -              call_type_ == other_state.call_type_ &&
 | 
| -              stub_type_ == other_state.stub_type_ &&
 | 
| -              argument_check_ == other_state.argument_check_ &&
 | 
| -              strict_mode_ == other_state.strict_mode_);
 | 
| -    }
 | 
| -
 | 
| -    bool operator!=(const State& other_state) const {
 | 
| -      return !(*this == other_state);
 | 
| -    }
 | 
| -
 | 
| -   private:
 | 
| -    State(int argc,
 | 
| -          CallType call_type,
 | 
| -          StubType stub_type,
 | 
| -          ArgumentCheck argument_check,
 | 
| -          StrictMode strict_mode)
 | 
| -        : argc_(argc),
 | 
| -        call_type_(call_type),
 | 
| -        stub_type_(stub_type),
 | 
| -        argument_check_(argument_check),
 | 
| -        strict_mode_(strict_mode) {
 | 
| -    }
 | 
| -
 | 
| -    class ArgcBits: public BitField<int, 0, Code::kArgumentsBits> {};
 | 
| -    class CallTypeBits: public BitField<CallType, Code::kArgumentsBits, 1> {};
 | 
| -    class StubTypeBits:
 | 
| -        public BitField<StubType, Code::kArgumentsBits + 1, 1> {};  // NOLINT
 | 
| -    class ArgumentCheckBits:
 | 
| -        public BitField<ArgumentCheck,
 | 
| -            Code::kArgumentsBits + 2, 1> {};  // NOLINT
 | 
| -    class StrictModeBits:
 | 
| -        public BitField<StrictMode,
 | 
| -            Code::kArgumentsBits + 3, 1> {};  // NOLINT
 | 
| -
 | 
| -    const int argc_;
 | 
| -    const CallType call_type_;
 | 
| -    const StubType stub_type_;
 | 
| -    const ArgumentCheck argument_check_;
 | 
| -    const StrictMode strict_mode_;
 | 
| -  };
 | 
| -
 | 
| -  explicit CallIC(Isolate* isolate)
 | 
| -      : IC(EXTRA_CALL_FRAME, isolate) {
 | 
| -  }
 | 
| -
 | 
| -  void HandleMiss(Handle<Object> receiver,
 | 
| -                  Handle<Object> function,
 | 
| -                  Handle<FixedArray> vector,
 | 
| -                  Handle<Smi> slot);
 | 
| -
 | 
| -  // Code generator routines.
 | 
| -  static Handle<Code> initialize_stub(Isolate* isolate,
 | 
| -                                      int argc,
 | 
| -                                      CallType call_type);
 | 
| -
 | 
| -  static void Clear(Isolate* isolate, Address address, Code* target,
 | 
| -                    ConstantPoolArray* constant_pool);
 | 
| -};
 | 
| -
 | 
| -
 | 
|  class LoadIC: public IC {
 | 
|   public:
 | 
|    // ExtraICState bits
 | 
| 
 |