#
# Autogenerated by generate-bytecode-expectations.
#

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

---
snippet: "
  function f() {
   var x = 13;
   return typeof(x);
  };
  f();
"
frame size: 1
parameter count: 1
bytecode array length: 7
bytecodes: [
  /*   10 E> */ B(StackCheck),
  /*   24 S> */ B(LdaSmi), U8(13),
                B(Star), R(0),
  /*   29 S> */ B(TypeOf),
  /*   47 S> */ B(Return),
]
constant pool: [
]
handlers: [
]

---
snippet: "
  var x = 13;
  function f() {
   return typeof(x);
  };
  f();
"
frame size: 0
parameter count: 1
bytecode array length: 5
bytecodes: [
  /*   22 E> */ B(StackCheck),
  /*   28 S> */ B(LdaGlobalInsideTypeof), U8(1),
                B(TypeOf),
  /*   46 S> */ B(Return),
]
constant pool: [
]
handlers: [
]

