Chromium Code Reviews| 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, |
|
rossberg
2015/05/08 13:54:36
Use LanguageMode here
conradw
2015/05/08 14:08:21
After offline discussion, keeping bool for now. Wi
|
| + 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_; |