#
# Autogenerated by generate-bytecode-expectations.
#

---
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),
  /*   59 S> */ B(Return),
]
constant pool: [
]
handlers: [
]

---
snippet: "
  var a = do { var x = 100; }; return a;
"
frame size: 3
parameter count: 1
bytecode array length: 11
bytecodes: [
  /*   30 E> */ B(StackCheck),
  /*   55 S> */ B(LdaSmi), I8(100),
                B(Star), R(0),
  /*   42 S> */ B(LdaUndefined),
                B(Star), R(1),
                B(Star), R(2),
  /*   72 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: 16
bytecodes: [
  /*   30 E> */ B(StackCheck),
  /*   34 E> */ B(StackCheck),
  /*   56 S> */ B(LdaSmi), I8(10),
                B(Star), R(0),
  /*   69 S> */ B(Inc), U8(0),
                B(Star), R(0),
                B(Star), R(1),
  /*   74 S> */ B(Jump), U8(2),
                B(LdaUndefined),
  /*   94 S> */ B(Return),
]
constant pool: [
]
handlers: [
]

