| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index 34d05330f32943dbf9dbb6dda93dd30cd7c93e59..8420069b2627e75384591bb81295871029570efe 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -4534,8 +4534,16 @@ class Code: public HeapObject {
|
| inline Kind kind();
|
| 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;
|
| + }
|
| +
|
| inline StubType type(); // Only valid for monomorphic IC stubs.
|
| inline int arguments_count(); // Only valid for call IC stubs.
|
|
|
| @@ -4628,7 +4636,6 @@ class Code: public HeapObject {
|
|
|
| // [to_boolean_foo]: For kind TO_BOOLEAN_IC tells what state the stub is in.
|
| inline byte to_boolean_state();
|
| - inline void set_to_boolean_state(byte value);
|
|
|
| // [compare_nil]: For kind COMPARE_NIL_IC tells what state the stub is in.
|
| byte compare_nil_types();
|
| @@ -4860,9 +4867,6 @@ class Code: public HeapObject {
|
| static const int kUnaryOpTypeFirstBit =
|
| kStackSlotsFirstBit + kStackSlotsBitCount;
|
| static const int kUnaryOpTypeBitCount = 3;
|
| - static const int kToBooleanStateFirstBit =
|
| - kStackSlotsFirstBit + kStackSlotsBitCount;
|
| - static const int kToBooleanStateBitCount = 8;
|
| static const int kHasFunctionCacheFirstBit =
|
| kStackSlotsFirstBit + kStackSlotsBitCount;
|
| static const int kHasFunctionCacheBitCount = 1;
|
| @@ -4872,7 +4876,6 @@ class Code: public HeapObject {
|
|
|
| STATIC_ASSERT(kStackSlotsFirstBit + kStackSlotsBitCount <= 32);
|
| STATIC_ASSERT(kUnaryOpTypeFirstBit + kUnaryOpTypeBitCount <= 32);
|
| - STATIC_ASSERT(kToBooleanStateFirstBit + kToBooleanStateBitCount <= 32);
|
| STATIC_ASSERT(kHasFunctionCacheFirstBit + kHasFunctionCacheBitCount <= 32);
|
| STATIC_ASSERT(kMarkedForDeoptimizationFirstBit +
|
| kMarkedForDeoptimizationBitCount <= 32);
|
| @@ -4881,8 +4884,6 @@ class Code: public HeapObject {
|
| kStackSlotsFirstBit, kStackSlotsBitCount> {}; // NOLINT
|
| class UnaryOpTypeField: public BitField<int,
|
| kUnaryOpTypeFirstBit, kUnaryOpTypeBitCount> {}; // NOLINT
|
| - class ToBooleanStateField: public BitField<int,
|
| - kToBooleanStateFirstBit, kToBooleanStateBitCount> {}; // NOLINT
|
| class HasFunctionCacheField: public BitField<bool,
|
| kHasFunctionCacheFirstBit, kHasFunctionCacheBitCount> {}; // NOLINT
|
| class MarkedForDeoptimizationField: public BitField<bool,
|
|
|