#
# Autogenerated by generate-bytecode-expectations.
#

---
wrap: no
top level: yes

---
snippet: "
  var a = { func: function() { } };
"
frame size: 4
parameter count: 1
bytecode array length: 36
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::kDeclareGlobalsForInterpreter), R(1), U8(3),
  /*    0 E> */ B(StackCheck),
  /*    8 S> */ B(CreateObjectLiteral), U8(1), U8(3), U8(41), R(1),
                B(CreateClosure), U8(2), U8(2), U8(0),
                B(StaNamedOwnProperty), R(1), U8(3), U8(4),
                B(Ldar), R(1),
  /*    8 E> */ B(StaGlobalSloppy), U8(4), U8(6),
                B(LdaUndefined),
  /*   33 S> */ B(Return),
]
constant pool: [
  FIXED_ARRAY_TYPE,
  FIXED_ARRAY_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"],
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
]
handlers: [
]

