Index: src/type-info.cc |
diff --git a/src/type-info.cc b/src/type-info.cc |
index 336b459d6b7b2aa230c24cb4fdba1efca2569e24..769df07e4fa20b97186ebbaeaa20e1aca4ef3ec5 100644 |
--- a/src/type-info.cc |
+++ b/src/type-info.cc |
@@ -384,6 +384,17 @@ void TypeFeedbackOracle::CompareType(TypeFeedbackId id, |
} |
+Handle<Type> TypeFeedbackOracle::UnaryType(TypeFeedbackId id) { |
+ Handle<Object> object = GetInfo(id); |
+ if (!object->IsCode()) { |
+ return handle(Type::None(), isolate()); |
+ } |
+ Handle<Code> code = Handle<Code>::cast(object); |
+ ASSERT(code->is_unary_op_stub()); |
+ return UnaryOpStub(code->extended_extra_ic_state()).GetType(isolate()); |
+} |
+ |
+ |
void TypeFeedbackOracle::BinaryType(TypeFeedbackId id, |
Handle<Type>* left, |
Handle<Type>* right, |
@@ -647,6 +658,7 @@ void TypeFeedbackOracle::ProcessRelocInfos(ZoneList<RelocInfo>* infos) { |
} |
break; |
+ case Code::UNARY_OP_IC: |
case Code::BINARY_OP_IC: |
case Code::COMPARE_IC: |
case Code::TO_BOOLEAN_IC: |