Commit 25838f85 authored by André Bargull's avatar André Bargull
Browse files

Bug 1686692 - Part 7: Add MCompare::NewWasm. r=jandem

Add `MCompare::NewWasm()` in preparation for the next part.

Depends on D101875

Differential Revision: https://phabricator.services.mozilla.com/D101876
parent 6cafa760
Loading
Loading
Loading
Loading
+11 −9
Original line number Diff line number Diff line
@@ -2925,22 +2925,24 @@ class MCompare : public MBinaryInstruction, public ComparePolicy::Data {
    setMovable();
  }

  MCompare(MDefinition* left, MDefinition* right, JSOp jsop,
           CompareType compareType)
      : MCompare(left, right, jsop) {
 public:
  INSTRUCTION_HEADER(Compare)
  TRIVIAL_NEW_WRAPPERS

  static MCompare* NewWasm(TempAllocator& alloc, MDefinition* left,
                           MDefinition* right, JSOp jsop,
                           CompareType compareType) {
    MOZ_ASSERT(compareType == Compare_Int32 || compareType == Compare_UInt32 ||
               compareType == Compare_Int64 || compareType == Compare_UInt64 ||
               compareType == Compare_Double ||
               compareType == Compare_Float32 ||
               compareType == Compare_RefOrNull);
    compareType_ = compareType;
    setResultType(MIRType::Int32);
    auto* ins = MCompare::New(alloc, left, right, jsop);
    ins->setCompareType(compareType);
    ins->setResultType(MIRType::Int32);
    return ins;
  }

 public:
  INSTRUCTION_HEADER(Compare)
  TRIVIAL_NEW_WRAPPERS

  [[nodiscard]] bool tryFold(bool* result);
  [[nodiscard]] bool evaluateConstantOperands(TempAllocator& alloc,
                                              bool* result);
+1 −1
Original line number Diff line number Diff line
@@ -663,7 +663,7 @@ class FunctionCompiler {
    if (inDeadCode()) {
      return nullptr;
    }
    auto* ins = MCompare::New(alloc(), lhs, rhs, op, type);
    auto* ins = MCompare::NewWasm(alloc(), lhs, rhs, op, type);
    curBlock_->add(ins);
    return ins;
  }