Commit 1594f8f8 authored by Iain Ireland's avatar Iain Ireland
Browse files

Bug 1942881: Remove RRegExpMatcher r=jandem, a=dmeehan

parent 26960c9b
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -1260,7 +1260,6 @@
    lastIndex: Int32
  result_type: Value
  possibly_calls: true
  can_recover: true

# Note: this instruction writes to cx->regExpSearcherLastLimit.
# See also MRegExpSearcherLastLimit.
@@ -1271,7 +1270,6 @@
    lastIndex: Int32
  result_type: Int32
  possibly_calls: true
  can_recover: false

# This instruction loads cx->regExpSearcherLastLimit. We don't have a
# specialized alias set for this so just use the default alias set similar to
@@ -1286,7 +1284,6 @@
    string: String
  result_type: Value
  possibly_calls: true
  can_recover: false

- name: RegExpExecTest
  operands:
@@ -1294,7 +1291,6 @@
    string: String
  result_type: Boolean
  possibly_calls: true
  can_recover: false

- name: RegExpHasCaptureGroups
  operands:
+0 −25
Original line number Diff line number Diff line
@@ -11,7 +11,6 @@
#include "jsmath.h"

#include "builtin/Object.h"
#include "builtin/RegExp.h"
#include "builtin/String.h"
#include "jit/AtomicOperations.h"
#include "jit/Bailouts.h"
@@ -1447,30 +1446,6 @@ bool RNaNToZero::recover(JSContext* cx, SnapshotIterator& iter) const {
  return true;
}

bool MRegExpMatcher::writeRecoverData(CompactBufferWriter& writer) const {
  MOZ_ASSERT(canRecoverOnBailout());
  writer.writeUnsigned(uint32_t(RInstruction::Recover_RegExpMatcher));
  return true;
}

RRegExpMatcher::RRegExpMatcher(CompactBufferReader& reader) {}

bool RRegExpMatcher::recover(JSContext* cx, SnapshotIterator& iter) const {
  RootedObject regexp(cx, iter.readObject());
  RootedString input(cx, iter.readString());

  // Int32 because |lastIndex| is computed from transpiled self-hosted call.
  int32_t lastIndex = iter.readInt32();

  RootedValue result(cx);
  if (!RegExpMatcherRaw(cx, regexp, input, lastIndex, nullptr, &result)) {
    return false;
  }

  iter.storeInstructionResult(result);
  return true;
}

bool MTypeOf::writeRecoverData(CompactBufferWriter& writer) const {
  MOZ_ASSERT(canRecoverOnBailout());
  writer.writeUnsigned(uint32_t(RInstruction::Recover_TypeOf));
+0 −9
Original line number Diff line number Diff line
@@ -109,7 +109,6 @@ namespace jit {
  _(Random)                       \
  _(StringSplit)                  \
  _(NaNToZero)                    \
  _(RegExpMatcher)                \
  _(StringReplace)                \
  _(Substr)                       \
  _(TypeOf)                       \
@@ -685,14 +684,6 @@ class RNaNToZero final : public RInstruction {
  bool recover(JSContext* cx, SnapshotIterator& iter) const override;
};

class RRegExpMatcher final : public RInstruction {
 public:
  RINSTRUCTION_HEADER_NUM_OP_(RegExpMatcher, 3)

  [[nodiscard]] bool recover(JSContext* cx,
                             SnapshotIterator& iter) const override;
};

class RStringReplace final : public RInstruction {
 private:
  bool isFlatReplacement_;