#
# Autogenerated by generate-bytecode-expectations.
#

---
pool type: string
execute: yes
wrap: yes

---
snippet: "
  return /ab+d/;
"
frame size: 0
parameter count: 1
bytecode array length: 6
bytecodes: [
  B(StackCheck),
  B(CreateRegExpLiteral), U8(0), U8(0), U8(0),
  B(Return),
]
constant pool: [
  "ab+d",
]
handlers: [
]

---
snippet: "
  return /(\\w+)\\s(\\w+)/i;
"
frame size: 0
parameter count: 1
bytecode array length: 6
bytecodes: [
  B(StackCheck),
  B(CreateRegExpLiteral), U8(0), U8(0), U8(2),
  B(Return),
]
constant pool: [
  "(\x5cw+)\x5cs(\x5cw+)",
]
handlers: [
]

---
snippet: "
  return /ab+d/.exec('abdd');
"
frame size: 3
parameter count: 1
bytecode array length: 23
bytecodes: [
  B(StackCheck),
  B(CreateRegExpLiteral), U8(0), U8(0), U8(0),
  B(Star), R(1),
  B(LoadIC), R(1), U8(1), U8(3),
  B(Star), R(0),
  B(LdaConstant), U8(2),
  B(Star), R(2),
  B(Call), R(0), R(1), U8(2), U8(1),
  B(Return),
]
constant pool: [
  "ab+d",
  "exec",
  "abdd",
]
handlers: [
]

