5#ifndef V8_REGEXP_EXPERIMENTAL_EXPERIMENTAL_BYTECODE_H_
6#define V8_REGEXP_EXPERIMENTAL_EXPERIMENTAL_BYTECODE_H_
176 result.payload.pc = alt_index;
183 result.payload.pc = alt_index;
203 result.payload.assertion_type = t;
266 result.payload.lookaround =
295 return instruction.opcode == RegExpInstruction::Opcode::FILTER_GROUP ||
296 instruction.opcode == RegExpInstruction::Opcode::FILTER_QUANTIFIER ||
297 instruction.opcode == RegExpInstruction::Opcode::FILTER_CHILD;
322 static_assert(
sizeof(
payload) == 4);
324static_assert(
sizeof(RegExpInstruction) == 8);
347std::ostream&
operator<<(std::ostream& os,
const RegExpInstruction& inst);
351 const RegExpInstruction::LookaroundPayload& inst);
static constexpr T decode(U value)
LookaroundPayload()=default
RegExpLookaround::Type type() const
LookaroundPayload(uint32_t lookaround_index, bool is_positive, RegExpLookaround::Type type)
ZoneVector< RpoNumber > & result
std::ostream & operator<<(std::ostream &os, AtomicMemoryOrder order)
static RegExpInstruction Jmp(int32_t alt_index)
static RegExpInstruction Accept()
static RegExpInstruction FilterChild(int32_t pc)
static RegExpInstruction EndLoop()
RegExpAssertion::Type assertion_type
static RegExpInstruction SetQuantifierToClock(int32_t quantifier_id)
static RegExpInstruction ConsumeAnyChar()
static RegExpInstruction BeginLoop()
static RegExpInstruction FilterGroup(int32_t group_id)
static RegExpInstruction Fork(int32_t alt_index)
static RegExpInstruction ConsumeRange(base::uc16 min, base::uc16 max)
static RegExpInstruction SetRegisterToCp(int32_t register_index)
static RegExpInstruction FilterLookaround(int32_t lookaround_id)
static RegExpInstruction FilterQuantifier(int32_t quantifier_id)
union v8::internal::RegExpInstruction::@129 payload
static RegExpInstruction Fail()
@ SET_QUANTIFIER_TO_CLOCK
static bool IsFilter(const RegExpInstruction &instruction)
static RegExpInstruction StartLookaround(int lookaround_index, bool is_positive, RegExpLookaround::Type type)
static RegExpInstruction ClearRegister(int32_t register_index)
static RegExpInstruction ReadLookTable(int32_t index, bool is_positive, RegExpLookaround::Type type)
static RegExpInstruction WriteLookTable(int32_t index)
static RegExpInstruction RangeCount(int32_t num_ranges)
static RegExpInstruction EndLookaround()
LookaroundPayload lookaround
static RegExpInstruction Assertion(RegExpAssertion::Type t)