KOS_OP_FAST3
Style: EXTRA (FASTVAR, FASTVAR, FASTVAR, NOARG). Row = three fast local slot indices.
Stack:
[...] → [..., a, b, c]. Load the three slots and push in row order. Every slot resolves before any push, so an unbound slot errors with nothing pushed.Invariants: Slot indices in range for frame.
Compiler form: Post-compile only:
convert_fastlowering of VAR3 when all three names have fast slots, orByteCodeProcessor.pack_runson a run of three bare FAST loads.
Example: Load fast locals 0-2.
index |
opcode |
arg |
arg view |
comment |
|---|---|---|---|---|
0 |
FAST3 |
0 |
(fast 0 (a), fast 1 (b), fast 2 (c), 0) |
stack: […, a, b, c] |
1 |
RETURN |
1 |
1 |