Commit 2baea747 authored by bmeurer's avatar bmeurer Committed by Commit bot

[stubs] Remove obsolete CALL_IC code kind.

We don't need Code::CALL_IC for anything now that the CallICStub is
migrated and no longer hooks into the traditional IC system.

R=yangguo@chromium.org
BUG=v8:5049

Review-Url: https://codereview.chromium.org/2669193002
Cr-Commit-Position: refs/heads/master@{#42890}
parent d68dfe86
......@@ -922,12 +922,6 @@ class CallICStub : public TurboFanCodeStub {
TailCallModeBits::encode(tail_call_mode);
}
Code::Kind GetCodeKind() const override { return Code::CALL_IC; }
ExtraICState GetExtraICState() const final {
return static_cast<ExtraICState>(minor_key_);
}
protected:
typedef BitField<ConvertReceiverMode, 0, 2> ConvertModeBits;
typedef BitField<TailCallMode, ConvertModeBits::kNext, 1> TailCallModeBits;
......@@ -1606,12 +1600,6 @@ class CallICTrampolineStub : public TurboFanCodeStub {
TailCallModeBits::encode(tail_call_mode);
}
Code::Kind GetCodeKind() const override { return Code::CALL_IC; }
ExtraICState GetExtraICState() const final {
return static_cast<ExtraICState>(minor_key_);
}
protected:
typedef BitField<ConvertReceiverMode, 0, 2> ConvertModeBits;
typedef BitField<TailCallMode, ConvertModeBits::kNext, 1> TailCallModeBits;
......
......@@ -59,7 +59,7 @@ void IC::SetTargetAtAddress(Address address, Code* target,
DCHECK(!target->is_inline_cache_stub() ||
(target->kind() != Code::LOAD_IC &&
target->kind() != Code::KEYED_LOAD_IC &&
target->kind() != Code::CALL_IC && target->kind() != Code::STORE_IC &&
target->kind() != Code::STORE_IC &&
target->kind() != Code::KEYED_STORE_IC));
Heap* heap = target->GetHeap();
......
......@@ -258,7 +258,7 @@ IC::IC(FrameDepth depth, Isolate* isolate, FeedbackNexus* nexus)
// save/restore them in the dispatcher.
bool IC::ShouldPushPopSlotAndVector(Code::Kind kind) {
if (kind == Code::LOAD_IC || kind == Code::LOAD_GLOBAL_IC ||
kind == Code::KEYED_LOAD_IC || kind == Code::CALL_IC) {
kind == Code::KEYED_LOAD_IC) {
return true;
}
if (kind == Code::STORE_IC || kind == Code::KEYED_STORE_IC) {
......
......@@ -53,7 +53,6 @@ class IC {
bool IsStoreStub() const {
return kind_ == Code::STORE_IC || kind_ == Code::KEYED_STORE_IC;
}
bool IsCallStub() const { return kind_ == Code::CALL_IC; }
#endif
static inline Handle<Map> GetHandlerCacheHolder(Handle<Map> receiver_map,
......@@ -71,8 +70,8 @@ class IC {
static bool ICUseVector(Code::Kind kind) {
return kind == Code::LOAD_IC || kind == Code::LOAD_GLOBAL_IC ||
kind == Code::KEYED_LOAD_IC || kind == Code::CALL_IC ||
kind == Code::STORE_IC || kind == Code::KEYED_STORE_IC;
kind == Code::KEYED_LOAD_IC || kind == Code::STORE_IC ||
kind == Code::KEYED_STORE_IC;
}
// The ICs that don't pass slot and vector through the stack have to
......
......@@ -1436,10 +1436,6 @@ void Logger::LogCodeObject(Object* object) {
description = "A load global IC from the snapshot";
tag = Logger::LOAD_GLOBAL_IC_TAG;
break;
case AbstractCode::CALL_IC:
description = "A call IC from the snapshot";
tag = CodeEventListener::CALL_IC_TAG;
break;
case AbstractCode::STORE_IC:
description = "A store IC from the snapshot";
tag = CodeEventListener::STORE_IC_TAG;
......
......@@ -5279,7 +5279,6 @@ bool Code::is_debug_stub() {
return false;
}
bool Code::is_handler() { return kind() == HANDLER; }
bool Code::is_call_stub() { return kind() == CALL_IC; }
bool Code::is_binary_op_stub() { return kind() == BINARY_OP_IC; }
bool Code::is_compare_ic_stub() { return kind() == COMPARE_IC; }
bool Code::is_to_boolean_ic_stub() { return kind() == TO_BOOLEAN_IC; }
......
......@@ -4970,7 +4970,6 @@ class Code: public HeapObject {
V(LOAD_IC) \
V(LOAD_GLOBAL_IC) \
V(KEYED_LOAD_IC) \
V(CALL_IC) \
V(STORE_IC) \
V(KEYED_STORE_IC) \
V(BINARY_OP_IC) \
......@@ -5073,7 +5072,6 @@ class Code: public HeapObject {
inline bool is_inline_cache_stub();
inline bool is_debug_stub();
inline bool is_handler();
inline bool is_call_stub();
inline bool is_binary_op_stub();
inline bool is_compare_ic_stub();
inline bool is_to_boolean_ic_stub();
......
......@@ -5397,8 +5397,7 @@ Handle<JSFunction> GetFunctionByName(Isolate* isolate, const char* name) {
void CheckIC(Handle<JSFunction> function, Code::Kind kind, int slot_index,
InlineCacheState state) {
if (kind == Code::LOAD_IC || kind == Code::KEYED_LOAD_IC ||
kind == Code::CALL_IC) {
if (kind == Code::LOAD_IC || kind == Code::KEYED_LOAD_IC) {
TypeFeedbackVector* vector = function->feedback_vector();
FeedbackVectorSlot slot(slot_index);
if (kind == Code::LOAD_IC) {
......@@ -5407,9 +5406,6 @@ void CheckIC(Handle<JSFunction> function, Code::Kind kind, int slot_index,
} else if (kind == Code::KEYED_LOAD_IC) {
KeyedLoadICNexus nexus(vector, slot);
CHECK_EQ(nexus.StateFromFeedback(), state);
} else if (kind == Code::CALL_IC) {
CallICNexus nexus(vector, slot);
CHECK_EQ(nexus.StateFromFeedback(), state);
}
} else {
Code* ic = FindFirstIC(function->code(), kind);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment