| 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.
|
|
|