Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 6fbba3cd5739877d76f595f15f9ae27cae63ff1e..8dde5d44998251abee7757b4f0fb55bc6bf9eefd 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -179,6 +179,12 @@ enum KeyedAccessStoreMode { |
}; |
+enum ContextualMode { |
+ NOT_CONTEXTUAL, |
+ CONTEXTUAL |
+}; |
+ |
+ |
static const int kGrowICDelta = STORE_AND_GROW_NO_TRANSITION - |
STANDARD_STORE; |
STATIC_ASSERT(STANDARD_STORE == 0); |
@@ -5038,8 +5044,6 @@ class Code: public HeapObject { |
typedef int ExtraICState; |
- static const ExtraICState kNoExtraICState = 0; |
- |
static const int kPrologueOffsetNotSet = -1; |
#ifdef ENABLE_DISASSEMBLER |
@@ -5259,27 +5263,9 @@ class Code: public HeapObject { |
// out the to-be-overwritten header data for reproducible snapshots. |
inline void WipeOutHeader(); |
- class ExtraICStateStrictMode: public BitField<StrictModeFlag, 0, 1> {}; |
- class ExtraICStateKeyedAccessStoreMode: |
- public BitField<KeyedAccessStoreMode, 1, 4> {}; // NOLINT |
- |
- static inline StrictModeFlag GetStrictMode(ExtraICState extra_ic_state) { |
- return ExtraICStateStrictMode::decode(extra_ic_state); |
- } |
- |
- static inline KeyedAccessStoreMode GetKeyedAccessStoreMode( |
- ExtraICState extra_ic_state) { |
- return ExtraICStateKeyedAccessStoreMode::decode(extra_ic_state); |
- } |
- |
- static inline ExtraICState ComputeExtraICState( |
- KeyedAccessStoreMode store_mode, |
- StrictModeFlag strict_mode) { |
- return ExtraICStateKeyedAccessStoreMode::encode(store_mode) | |
- ExtraICStateStrictMode::encode(strict_mode); |
- } |
- |
// Flags operations. |
+ // Defined here and in IC::kNoExtraICState to prevent circular dependency. |
+ static const int kNoExtraICState = 0; |
static inline Flags ComputeFlags( |
Kind kind, |
InlineCacheState ic_state = UNINITIALIZED, |
@@ -5462,12 +5448,12 @@ class Code: public HeapObject { |
// Flags layout. BitField<type, shift, size>. |
class ICStateField: public BitField<InlineCacheState, 0, 3> {}; |
class TypeField: public BitField<StubType, 3, 1> {}; |
- class CacheHolderField: public BitField<InlineCacheHolderFlag, 6, 1> {}; |
- class KindField: public BitField<Kind, 7, 4> {}; |
- class IsPregeneratedField: public BitField<bool, 11, 1> {}; |
- class ExtraICStateField: public BitField<ExtraICState, 12, 5> {}; |
- class ExtendedExtraICStateField: public BitField<ExtraICState, 12, |
- PlatformSmiTagging::kSmiValueSize - 12 + 1> {}; // NOLINT |
+ class CacheHolderField: public BitField<InlineCacheHolderFlag, 5, 1> {}; |
+ class KindField: public BitField<Kind, 6, 4> {}; |
+ class IsPregeneratedField: public BitField<bool, 10, 1> {}; |
+ class ExtraICStateField: public BitField<ExtraICState, 11, 6> {}; |
+ class ExtendedExtraICStateField: public BitField<ExtraICState, 11, |
+ PlatformSmiTagging::kSmiValueSize - 11 + 1> {}; // NOLINT |
STATIC_ASSERT(ExtraICStateField::kShift == ExtendedExtraICStateField::kShift); |
// KindSpecificFlags1 layout (STUB and OPTIMIZED_FUNCTION) |