KOS_OP_VAR4

  • Style: EXTRA (VAR, VAR, VAR, VAR). Row = four constant pool name indices (post-compile).

  • Stack: [...] → [..., a, b, c, d]. Load all four names from the frame namespace and push in row order. All names resolve before any push, so a missing name errors with nothing pushed.

  • Invariants: Names in constant pool.

  • Compiler form: As VAR2: produced only by ByteCodeProcessor.pack_runs from a run of four (or more, greedily) consecutive bare VAR loads. convert_fast lowers to FAST4 when all four names have fast slots.

Example: Load “a”, “b”, “c”, “d”. Pool: 0-3 = names.

index

opcode

arg

arg view

comment

0

VAR4

0

(0 (‘a’), 1 (‘b’), 2 (‘c’), 3 (‘d’))

stack: […, a, b, c, d]

1

RETURN

1

1