#
# Autogenerated by generate-bytecode-expectations.
#

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

---
snippet: "
  var a = do { }; return a;
"
frame size: 2
parameter count: 1
bytecode array length: 7
bytecodes: [
  /*   30 E> */ B(StackCheck),
  /*   42 S> */ B(Mov), R(0), R(1),
  /*   50 S> */ B(Ldar), R(1),
  /*   60 S> */ B(Return),
]
constant pool: [
]
handlers: [
]

---
snippet: "
  var a = do { var x = 100; }; return a;
"
frame size: 3
parameter count: 1
bytecode array length: 13
bytecodes: [
  /*   30 E> */ B(StackCheck),
  /*   55 S> */ B(LdaSmi), U8(100),
                B(Star), R(1),
  /*   42 S> */ B(LdrUndefined), R(0),
                B(Ldar), R(0),
                B(Star), R(2),
  /*   63 S> */ B(Nop),
  /*   73 S> */ B(Return),
]
constant pool: [
]
handlers: [
]

---
snippet: "
  while(true) { var a = 10; a = do { ++a; break; }; a = 20; }
"
frame size: 2
parameter count: 1
bytecode array length: 17
bytecodes: [
  /*   30 E> */ B(StackCheck),
  /*   34 E> */ B(StackCheck),
  /*   56 S> */ B(LdaSmi), U8(10),
                B(Star), R(1),
  /*   69 S> */ B(Inc),
                B(Star), R(1),
                B(Star), R(0),
  /*   74 S> */ B(Jump), U8(4),
                B(Jump), U8(-12),
                B(LdaUndefined),
  /*   94 S> */ B(Return),
]
constant pool: [
]
handlers: [
]

