Index: src/ic.h |
diff --git a/src/ic.h b/src/ic.h |
index 56625525d472c9e633b55a124eb468c5ca6dccef..3b44abf4dece1f1af33f49fed845641c12fb6287 100644 |
--- a/src/ic.h |
+++ b/src/ic.h |
@@ -794,6 +794,9 @@ class CompareIC: public IC { |
// Helper function for determining the state of a compare IC. |
static State ComputeState(Code* target); |
+ // Helper function for determining the operation a compare IC is for. |
+ static Token::Value ComputeOperation(Code* target); |
+ |
static const char* GetStateName(State state); |
private: |
@@ -804,7 +807,13 @@ class CompareIC: public IC { |
Condition GetCondition() const { return ComputeCondition(op_); } |
State GetState() { return ComputeState(target()); } |
+ static Code* GetRawUninitialized(Token::Value op); |
+ |
+ static void Clear(Address address, Code* target); |
+ |
Token::Value op_; |
+ |
+ friend class IC; |
}; |
@@ -817,7 +826,8 @@ class ToBooleanIC: public IC { |
// Helper for BinaryOpIC and CompareIC. |
-void PatchInlinedSmiCode(Address address); |
+enum InlinedSmiCheck { ENABLE_INLINED_SMI_CHECK, DISABLE_INLINED_SMI_CHECK }; |
+void PatchInlinedSmiCode(Address address, InlinedSmiCheck check); |
} } // namespace v8::internal |