| Index: src/code-stubs.h
|
| diff --git a/src/code-stubs.h b/src/code-stubs.h
|
| index 040bf10f774597fed42d95832a349d03631a1899..56d08b0ebcf3e1b2000d1439d41b240d5296c45f 100644
|
| --- a/src/code-stubs.h
|
| +++ b/src/code-stubs.h
|
| @@ -1469,12 +1469,14 @@ class StringAddStub final : public HydrogenCodeStub {
|
|
|
| class CompareICStub : public PlatformCodeStub {
|
| public:
|
| - CompareICStub(Isolate* isolate, Token::Value op, CompareICState::State left,
|
| - CompareICState::State right, CompareICState::State state)
|
| + CompareICStub(Isolate* isolate, Token::Value op, bool strong,
|
| + CompareICState::State left, CompareICState::State right,
|
| + CompareICState::State state)
|
| : PlatformCodeStub(isolate) {
|
| DCHECK(Token::IsCompareOp(op));
|
| - minor_key_ = OpBits::encode(op - Token::EQ) | LeftStateBits::encode(left) |
|
| - RightStateBits::encode(right) | StateBits::encode(state);
|
| + minor_key_ = OpBits::encode(op - Token::EQ) | StrongBits::encode(strong) |
|
| + LeftStateBits::encode(left) | RightStateBits::encode(right) |
|
| + StateBits::encode(state);
|
| }
|
|
|
| void set_known_map(Handle<Map> map) { known_map_ = map; }
|
| @@ -1485,6 +1487,8 @@ class CompareICStub : public PlatformCodeStub {
|
| return static_cast<Token::Value>(Token::EQ + OpBits::decode(minor_key_));
|
| }
|
|
|
| + bool strong() const { return StrongBits::decode(minor_key_); }
|
| +
|
| CompareICState::State left() const {
|
| return LeftStateBits::decode(minor_key_);
|
| }
|
| @@ -1516,9 +1520,10 @@ class CompareICStub : public PlatformCodeStub {
|
| }
|
|
|
| class OpBits : public BitField<int, 0, 3> {};
|
| - class LeftStateBits : public BitField<CompareICState::State, 3, 4> {};
|
| - class RightStateBits : public BitField<CompareICState::State, 7, 4> {};
|
| - class StateBits : public BitField<CompareICState::State, 11, 4> {};
|
| + class StrongBits : public BitField<bool, 3, 1> {};
|
| + class LeftStateBits : public BitField<CompareICState::State, 4, 4> {};
|
| + class RightStateBits : public BitField<CompareICState::State, 8, 4> {};
|
| + class StateBits : public BitField<CompareICState::State, 12, 4> {};
|
|
|
| Handle<Map> known_map_;
|
|
|
|
|