#
# Autogenerated by generate-bytecode-expectations.
#

---
pool type: string
execute: yes
wrap: no
test function name: f

---
snippet: "
  var global = 1;
  function f() { return global &= 1; }
  f();
"
frame size: 1
parameter count: 1
bytecode array length: 12
bytecodes: [
  /*   26 E> */ B(StackCheck),
  /*   31 S> */ B(LdrGlobal), U8(1), R(0),
                B(LdaSmi), U8(1),
                B(BitwiseAnd), R(0),
  /*   45 E> */ B(StaGlobalSloppy), U8(0), U8(3),
  /*   51 S> */ B(Return),
]
constant pool: [
  "global",
]
handlers: [
]

---
snippet: "
  unallocated = 1;
  function f() { return unallocated += 1; }
  f();
"
frame size: 1
parameter count: 1
bytecode array length: 12
bytecodes: [
  /*   27 E> */ B(StackCheck),
  /*   32 S> */ B(LdrGlobal), U8(1), R(0),
                B(LdaSmi), U8(1),
                B(Add), R(0),
  /*   51 E> */ B(StaGlobalSloppy), U8(0), U8(3),
  /*   57 S> */ B(Return),
]
constant pool: [
  "unallocated",
]
handlers: [
]

