#
# Autogenerated by generate-bytecode-expectations.
#

---
wrap: no
top level: yes

---
snippet: "
  var a = { func: function() { } };
"
frame size: 4
parameter count: 1
bytecode array length: 37
bytecodes: [
                B(LdaConstant), U8(0),
                B(Star), R(1),
                B(LdaZero),
                B(Star), R(2),
                B(Mov), R(closure), R(3),
                B(CallRuntime), U16(Runtime::kDeclareGlobals), R(1), U8(3),
  /*    0 E> */ B(StackCheck),
  /*    8 S> */ B(CreateObjectLiteral), U8(1), U8(2), U8(41),
                B(Star), R(1),
  /*   16 E> */ B(CreateClosure), U8(2), U8(0), U8(0),
                B(StaNamedOwnProperty), R(1), U8(3), U8(3),
                B(Ldar), R(1),
  /*    8 E> */ B(StaGlobal), U8(4), U8(5),
                B(LdaUndefined),
  /*   34 S> */ B(Return),
]
constant pool: [
  FIXED_ARRAY_TYPE,
  OBJECT_BOILERPLATE_DESCRIPTION_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"],
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
]
handlers: [
]

