#
# Autogenerated by generate-bytecode-expectations.
#

---
pool type: number
execute: yes
wrap: yes

---
snippet: "
  var a = 1; if (a || a < 0) { return 1; }
"
frame size: 2
parameter count: 1
bytecode array length: 21
bytecodes: [
  B(StackCheck),
  B(LdaSmi), U8(1),
  B(Star), R(0),
  B(JumpIfToBooleanTrue), U8(9),
  B(Ldar), R(0),
  B(Star), R(1),
  B(LdaZero),
  B(TestLessThan), R(1),
  B(JumpIfToBooleanFalse), U8(5),
  B(LdaSmi), U8(1),
  B(Return),
  B(LdaUndefined),
  B(Return),
]
constant pool: [
]
handlers: [
]

---
snippet: "
  var a = 1; if (a && a < 0) { return 1; }
"
frame size: 2
parameter count: 1
bytecode array length: 21
bytecodes: [
  B(StackCheck),
  B(LdaSmi), U8(1),
  B(Star), R(0),
  B(JumpIfToBooleanFalse), U8(9),
  B(Ldar), R(0),
  B(Star), R(1),
  B(LdaZero),
  B(TestLessThan), R(1),
  B(JumpIfToBooleanFalse), U8(5),
  B(LdaSmi), U8(1),
  B(Return),
  B(LdaUndefined),
  B(Return),
]
constant pool: [
]
handlers: [
]

---
snippet: "
  var a = 1; a = (a || a < 0) ? 2 : 3;
"
frame size: 2
parameter count: 1
bytecode array length: 26
bytecodes: [
  B(StackCheck),
  B(LdaSmi), U8(1),
  B(Star), R(0),
  B(JumpIfToBooleanTrue), U8(9),
  B(Ldar), R(0),
  B(Star), R(1),
  B(LdaZero),
  B(TestLessThan), R(1),
  B(JumpIfToBooleanFalse), U8(6),
  B(LdaSmi), U8(2),
  B(Jump), U8(4),
  B(LdaSmi), U8(3),
  B(Star), R(0),
  B(LdaUndefined),
  B(Return),
]
constant pool: [
]
handlers: [
]

