Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 4164df55d8db6723e2177182dfaa0ce26800960e..ce244c6c69a412987bf3f7f464db34d27946815b 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -13939,6 +13939,28 @@ WeakCell* Code::CachedWeakCell() { |
return NULL; |
} |
+InlineCacheState Code::ic_state() { |
+ switch (kind()) { |
+ case Code::BINARY_OP_IC: { |
+ BinaryOpICState state(GetIsolate(), extra_ic_state()); |
+ return state.GetICState(); |
+ } |
+ case Code::COMPARE_IC: { |
+ CompareICStub stub(GetIsolate(), extra_ic_state()); |
+ return stub.GetICState(); |
+ } |
+ case Code::TO_BOOLEAN_IC: { |
+ ToBooleanICStub stub(GetIsolate(), extra_ic_state()); |
+ return stub.GetICState(); |
+ } |
+ case Code::DEBUG_STUB: |
+ return UNINITIALIZED; |
+ |
+ default: |
+ DCHECK(is_inline_cache_stub() || !IC::ICUseVector(kind())); |
+ return UNINITIALIZED; |
Toon Verwaest
2016/06/09 13:49:12
This looks weird, this case should be unreachable
Igor Sheludko
2016/06/09 15:18:21
Done.
|
+ } |
+} |
#ifdef ENABLE_DISASSEMBLER |
@@ -14202,7 +14224,6 @@ const char* Code::ICState2String(InlineCacheState state) { |
case POLYMORPHIC: return "POLYMORPHIC"; |
case MEGAMORPHIC: return "MEGAMORPHIC"; |
case GENERIC: return "GENERIC"; |
- case DEBUG_STUB: return "DEBUG_STUB"; |
} |
UNREACHABLE(); |
return NULL; |