#
# Autogenerated by generate-bytecode-expectations.
#

---
pool type: number
execute: yes
wrap: yes

---
snippet: "
  return 12345678;
"
frame size: 0
parameter count: 1
bytecode array length: 8
bytecodes: [
  /*   30 E> */ B(StackCheck),
  /*   34 S> */ B(ExtraWide), B(LdaSmi), U32(12345678),
  /*   51 S> */ B(Return),
]
constant pool: [
]
handlers: [
]

---
snippet: "
  var a = 1234; return 5678;
"
frame size: 1
parameter count: 1
bytecode array length: 12
bytecodes: [
  /*   30 E> */ B(StackCheck),
  /*   42 S> */ B(Wide), B(LdaSmi), U16(1234),
                B(Star), R(0),
  /*   48 S> */ B(Wide), B(LdaSmi), U16(5678),
  /*   61 S> */ B(Return),
]
constant pool: [
]
handlers: [
]

---
snippet: "
  var a = 1234; return 1234;
"
frame size: 1
parameter count: 1
bytecode array length: 12
bytecodes: [
  /*   30 E> */ B(StackCheck),
  /*   42 S> */ B(Wide), B(LdaSmi), U16(1234),
                B(Star), R(0),
  /*   48 S> */ B(Wide), B(LdaSmi), U16(1234),
  /*   61 S> */ B(Return),
]
constant pool: [
]
handlers: [
]

