#
# Autogenerated by generate-bytecode-expectations.
#

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

---
snippet: "
  var a = 1;
  try { a = 2; } finally { a = 3; }
"
frame size: 4
parameter count: 1
bytecode array length: 51
bytecodes: [
  B(StackCheck),
  B(LdaSmi), U8(1),
  B(Star), R(0),
  B(Mov), R(context), R(3),
  B(LdaSmi), U8(2),
  B(Star), R(0),
  B(LdaSmi), U8(-1),
  B(Star), R(1),
  B(Jump), U8(7),
  B(Star), R(2),
  B(LdaZero),
  B(Star), R(1),
  B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
  B(Star), R(3),
  B(LdaSmi), U8(3),
  B(Star), R(0),
  B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(3), U8(1),
  B(LdaZero),
  B(TestEqualStrict), R(1),
  B(JumpIfTrue), U8(4),
  B(Jump), U8(5),
  B(Ldar), R(2),
  B(ReThrow),
  B(LdaUndefined),
  B(Return),
]
constant pool: [
]
handlers: [
  [8, 12, 18],
]

---
snippet: "
  var a = 1;
  try { a = 2; } catch(e) { a = 20 } finally { a = 3; }
"
frame size: 9
parameter count: 1
bytecode array length: 88
bytecodes: [
  B(StackCheck),
  B(LdaSmi), U8(1),
  B(Star), R(0),
  B(Mov), R(context), R(4),
  B(Mov), R(context), R(5),
  B(LdaSmi), U8(2),
  B(Star), R(0),
  B(Jump), U8(34),
  B(Star), R(7),
  B(LdaConstant), U8(0),
  B(Star), R(6),
  B(Ldar), R(closure),
  B(Star), R(8),
  B(CallRuntime), U16(Runtime::kPushCatchContext), R(6), U8(3),
  B(Star), R(5),
  B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
  B(Ldar), R(5),
  B(PushContext), R(1),
  B(LdaSmi), U8(20),
  B(Star), R(0),
  B(PopContext), R(1),
  B(LdaSmi), U8(-1),
  B(Star), R(2),
  B(Jump), U8(7),
  B(Star), R(3),
  B(LdaZero),
  B(Star), R(2),
  B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
  B(Star), R(4),
  B(LdaSmi), U8(3),
  B(Star), R(0),
  B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(4), U8(1),
  B(LdaZero),
  B(TestEqualStrict), R(2),
  B(JumpIfTrue), U8(4),
  B(Jump), U8(5),
  B(Ldar), R(3),
  B(ReThrow),
  B(LdaUndefined),
  B(Return),
]
constant pool: [
  "e",
]
handlers: [
  [8, 49, 55],
  [11, 15, 17],
]

---
snippet: "
  var a; try {
    try { a = 1 } catch(e) { a = 2 }
  } catch(e) { a = 20 } finally { a = 3; }
"
frame size: 10
parameter count: 1
bytecode array length: 121
bytecodes: [
  B(StackCheck),
  B(Mov), R(context), R(4),
  B(Mov), R(context), R(5),
  B(Mov), R(context), R(6),
  B(LdaSmi), U8(1),
  B(Star), R(0),
  B(Jump), U8(34),
  B(Star), R(8),
  B(LdaConstant), U8(0),
  B(Star), R(7),
  B(Ldar), R(closure),
  B(Star), R(9),
  B(CallRuntime), U16(Runtime::kPushCatchContext), R(7), U8(3),
  B(Star), R(6),
  B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
  B(Ldar), R(6),
  B(PushContext), R(1),
  B(LdaSmi), U8(2),
  B(Star), R(0),
  B(PopContext), R(1),
  B(Jump), U8(34),
  B(Star), R(7),
  B(LdaConstant), U8(0),
  B(Star), R(6),
  B(Ldar), R(closure),
  B(Star), R(8),
  B(CallRuntime), U16(Runtime::kPushCatchContext), R(6), U8(3),
  B(Star), R(5),
  B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
  B(Ldar), R(5),
  B(PushContext), R(1),
  B(LdaSmi), U8(20),
  B(Star), R(0),
  B(PopContext), R(1),
  B(LdaSmi), U8(-1),
  B(Star), R(2),
  B(Jump), U8(7),
  B(Star), R(3),
  B(LdaZero),
  B(Star), R(2),
  B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
  B(Star), R(4),
  B(LdaSmi), U8(3),
  B(Star), R(0),
  B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(4), U8(1),
  B(LdaZero),
  B(TestEqualStrict), R(2),
  B(JumpIfTrue), U8(4),
  B(Jump), U8(5),
  B(Ldar), R(3),
  B(ReThrow),
  B(LdaUndefined),
  B(Return),
]
constant pool: [
  "e",
]
handlers: [
  [4, 82, 88],
  [7, 48, 50],
  [10, 14, 16],
]

