#
# Autogenerated by generate-bytecode-expectations.
#

---
pool type: mixed
execute: no
wrap: no
top level: yes

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

