Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 6e3e94132def173e13fcfbaf03b797a5796c5aa9..9557d5ebfb84f36ca681b721a617c86c5af7e29a 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -5236,16 +5236,6 @@ class Code: public HeapObject { |
inline InlineCacheState ic_state(); // Only valid for IC stubs. |
inline ExtraICState extra_ic_state(); // Only valid for IC stubs. |
- inline ExtraICState extended_extra_ic_state(); // Only valid for |
- // non-call IC stubs. |
- static bool needs_extended_extra_ic_state(Kind kind) { |
- // TODO(danno): This is a bit of a hack right now since there are still |
- // clients of this API that pass "extra" values in for argc. These clients |
- // should be retrofitted to used ExtendedExtraICState. |
- return kind == COMPARE_NIL_IC || kind == TO_BOOLEAN_IC || |
- kind == BINARY_OP_IC; |
- } |
- |
inline StubType type(); // Only valid for monomorphic IC stubs. |
inline int arguments_count(); // Only valid for call IC stubs. |
@@ -5386,7 +5376,7 @@ class Code: public HeapObject { |
InlineCacheState ic_state = UNINITIALIZED, |
ExtraICState extra_ic_state = kNoExtraICState, |
StubType type = NORMAL, |
- int argc = -1, |
+ Kind handler_kind = STUB, |
InlineCacheHolderFlag holder = OWN_MAP); |
static inline Flags ComputeMonomorphicFlags( |
@@ -5394,14 +5384,13 @@ class Code: public HeapObject { |
ExtraICState extra_ic_state = kNoExtraICState, |
InlineCacheHolderFlag holder = OWN_MAP, |
StubType type = NORMAL, |
- int argc = -1); |
+ Kind handler_kind = STUB); |
static inline InlineCacheState ExtractICStateFromFlags(Flags flags); |
static inline StubType ExtractTypeFromFlags(Flags flags); |
static inline Kind ExtractKindFromFlags(Flags flags); |
static inline InlineCacheHolderFlag ExtractCacheHolderFromFlags(Flags flags); |
static inline ExtraICState ExtractExtraICStateFromFlags(Flags flags); |
- static inline ExtraICState ExtractExtendedExtraICStateFromFlags(Flags flags); |
static inline int ExtractArgumentsCountFromFlags(Flags flags); |
static inline Flags RemoveTypeFromFlags(Flags flags); |
@@ -5567,10 +5556,8 @@ class Code: public HeapObject { |
class CacheHolderField: public BitField<InlineCacheHolderFlag, 5, 1> {}; |
class KindField: public BitField<Kind, 6, 4> {}; |
// TODO(bmeurer): Bit 10 is available for free use. :-) |
- class ExtraICStateField: public BitField<ExtraICState, 11, 6> {}; |
- class ExtendedExtraICStateField: public BitField<ExtraICState, 11, |
+ class ExtraICStateField: public BitField<ExtraICState, 11, |
PlatformSmiTagging::kSmiValueSize - 11 + 1> {}; // NOLINT |
- STATIC_ASSERT(ExtraICStateField::kShift == ExtendedExtraICStateField::kShift); |
// KindSpecificFlags1 layout (STUB and OPTIMIZED_FUNCTION) |
static const int kStackSlotsFirstBit = 0; |
@@ -5631,13 +5618,6 @@ class Code: public HeapObject { |
PlatformSmiTagging::kSmiValueSize - Code::kArgumentsCountShift + 1; |
static const int kMaxArguments = (1 << kArgumentsBits) - 1; |
- // ICs can use either argument count or ExtendedExtraIC, since their storage |
- // overlaps. |
- STATIC_ASSERT(ExtraICStateField::kShift + |
- ExtraICStateField::kSize + kArgumentsBits == |
- ExtendedExtraICStateField::kShift + |
- ExtendedExtraICStateField::kSize); |
- |
// This constant should be encodable in an ARM instruction. |
static const int kFlagsNotUsedInLookup = |
TypeField::kMask | CacheHolderField::kMask; |