| Index: src/ic.h
|
| diff --git a/src/ic.h b/src/ic.h
|
| index e6b78e50e0c3a35675b92ade56c4360789b3232f..8ad49cb5c545a606bb22269243bfc00c1e39a846 100644
|
| --- a/src/ic.h
|
| +++ b/src/ic.h
|
| @@ -57,8 +57,8 @@ namespace internal {
|
| ICU(LoadPropertyWithInterceptorForCall) \
|
| ICU(KeyedLoadPropertyWithInterceptor) \
|
| ICU(StoreInterceptorProperty) \
|
| + ICU(BinaryOp_Patch) \
|
| ICU(CompareIC_Miss) \
|
| - ICU(BinaryOpIC_Miss) \
|
| ICU(CompareNilIC_Miss) \
|
| ICU(Unreachable) \
|
| ICU(ToBooleanIC_Miss)
|
| @@ -735,14 +735,22 @@ class BinaryOpIC: public IC {
|
| GENERIC
|
| };
|
|
|
| - explicit BinaryOpIC(Isolate* isolate) : IC(EXTRA_CALL_FRAME, isolate) { }
|
| + static void StubInfoToType(int minor_key,
|
| + Handle<Type>* left,
|
| + Handle<Type>* right,
|
| + Handle<Type>* result,
|
| + Isolate* isolate);
|
| +
|
| + explicit BinaryOpIC(Isolate* isolate) : IC(NO_EXTRA_FRAME, isolate) { }
|
|
|
| - static Builtins::JavaScript TokenToJSBuiltin(Token::Value op);
|
| + void patch(Code* code);
|
|
|
| static const char* GetName(TypeInfo type_info);
|
|
|
| - MUST_USE_RESULT MaybeObject* Transition(Handle<Object> left,
|
| - Handle<Object> right);
|
| + static State ToState(TypeInfo type_info);
|
| +
|
| + private:
|
| + static Handle<Type> TypeInfoToType(TypeInfo binary_type, Isolate* isolate);
|
| };
|
|
|
|
|
| @@ -849,7 +857,6 @@ DECLARE_RUNTIME_FUNCTION(MaybeObject*, KeyedStoreIC_MissFromStubFailure);
|
| DECLARE_RUNTIME_FUNCTION(MaybeObject*, UnaryOpIC_Miss);
|
| DECLARE_RUNTIME_FUNCTION(MaybeObject*, StoreIC_MissFromStubFailure);
|
| DECLARE_RUNTIME_FUNCTION(MaybeObject*, ElementsTransitionAndStoreIC_Miss);
|
| -DECLARE_RUNTIME_FUNCTION(MaybeObject*, BinaryOpIC_Miss);
|
| DECLARE_RUNTIME_FUNCTION(MaybeObject*, CompareNilIC_Miss);
|
| DECLARE_RUNTIME_FUNCTION(MaybeObject*, ToBooleanIC_Miss);
|
|
|
|
|