#
# Autogenerated by generate-bytecode-expectations.
#

---
wrap: yes

---
snippet: "
  return eval('1;');
"
frame size: 10
parameter count: 1
bytecode array length: 58
bytecodes: [
                B(CreateFunctionContext), U8(3),
                B(PushContext), R(1),
                B(Ldar), R(this),
                B(StaCurrentContextSlot), U8(4),
                B(CreateMappedArguments),
                B(StaCurrentContextSlot), U8(6),
                B(Ldar), R(0),
                B(StaCurrentContextSlot), U8(5),
  /*   30 E> */ B(StackCheck),
  /*   34 S> */ B(LdaLookupGlobalSlot), U8(0), U8(0), U8(1),
                B(Star), R(2),
                B(LdaConstant), U8(1),
                B(Star), R(3),
                B(LdaZero),
                B(Star), R(7),
                B(LdaSmi), I8(30),
                B(Star), R(8),
                B(LdaSmi), I8(41),
                B(Star), R(9),
                B(Mov), R(2), R(4),
                B(Mov), R(3), R(5),
                B(Mov), R(closure), R(6),
                B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(6),
                B(Star), R(2),
  /*   41 E> */ B(CallUndefinedReceiver1), R(2), R(3), U8(2),
  /*   52 S> */ B(Return),
]
constant pool: [
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["eval"],
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["1;"],
]
handlers: [
]

