| 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:
|
|
|