Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index b17db2a71a1db56798cfe734efa7aaa8ce6135db..eb8a7565233cbae8965c465bb7b54af0856a1e01 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -5233,14 +5233,10 @@ class Code: public HeapObject { |
// [flags]: Access to specific code flags. |
inline Kind kind(); |
- inline Kind handler_kind() { |
- return static_cast<Kind>(arguments_count()); |
- } |
inline InlineCacheState ic_state(); // Only valid for IC stubs. |
inline ExtraICState extra_ic_state(); // Only valid for IC stubs. |
inline StubType type(); // Only valid for monomorphic IC stubs. |
- inline int arguments_count(); // Only valid for call IC stubs. |
// Testers for IC stub kinds. |
inline bool is_inline_cache_stub(); |
@@ -5379,22 +5375,25 @@ class Code: public HeapObject { |
InlineCacheState ic_state = UNINITIALIZED, |
ExtraICState extra_ic_state = kNoExtraICState, |
StubType type = NORMAL, |
- Kind handler_kind = STUB, |
InlineCacheHolderFlag holder = OWN_MAP); |
static inline Flags ComputeMonomorphicFlags( |
Kind kind, |
ExtraICState extra_ic_state = kNoExtraICState, |
InlineCacheHolderFlag holder = OWN_MAP, |
+ StubType type = NORMAL); |
+ |
+ static inline Flags ComputeHandlerFlags( |
+ Kind handler_kind, |
+ ExtraICState extra_ic_state = kNoExtraICState, |
StubType type = NORMAL, |
- Kind handler_kind = STUB); |
+ InlineCacheHolderFlag holder = OWN_MAP); |
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 int ExtractArgumentsCountFromFlags(Flags flags); |
static inline Flags RemoveTypeFromFlags(Flags flags); |
@@ -5614,11 +5613,9 @@ class Code: public HeapObject { |
class BackEdgesPatchedForOSRField: public BitField<bool, |
kIsCrankshaftedBit + 1 + 29, 1> {}; // NOLINT |
- // Signed field cannot be encoded using the BitField class. |
- static const int kArgumentsCountShift = 17; |
- static const int kArgumentsCountMask = ~((1 << kArgumentsCountShift) - 1); |
- static const int kArgumentsBits = |
- PlatformSmiTagging::kSmiValueSize - Code::kArgumentsCountShift + 1; |
+ class HandlerKindField: public BitField<Kind, 17, 4> {}; |
+ |
+ static const int kArgumentsBits = 16; |
static const int kMaxArguments = (1 << kArgumentsBits) - 1; |
// This constant should be encodable in an ARM instruction. |