Skip to content

refactor: classify SysV call args with one slot walker - #103

Merged
rieske merged 1 commit into
masterfrom
refactor/sysv-arg-sequence
Aug 7, 2026
Merged

refactor: classify SysV call args with one slot walker#103
rieske merged 1 commit into
masterfrom
refactor/sysv-arg-sequence

Conversation

@rieske

@rieske rieske commented Aug 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • Defer SysV GP/xmm/stack packing until emit: procedureArgument records source order; emitCallArguments classifies.
  • One walker (takeSysVArgSlot) is shared by caller emit and callee startProcedure. Floats do not consume GP slots; overflow is source order then right-to-left push.
  • Slot-sequence unit tests plus emit goldens for movd, AL, and odd-stack pad. Functional mixed printf("%.1f %d") and combine(float, int).

Test plan

  • Local codegenTest green (including SysVCallConv)
  • Local float/call functional suite (intel) green
  • CI build workflow (build + serial tests + coverage / Coveralls)

Coveralls: 92.829% (+0.04%) from 92.793%.

Defer GP/xmm/stack packing until emit from a source-order sequence.
Caller and callee share takeSysVArgSlot; overflow pushes right-to-left.
@mergify

mergify Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@coveralls

Copy link
Copy Markdown

Coverage Status

coverage: 92.829% (+0.04%) from 92.793% — refactor/sysv-arg-sequence into master

@rieske
rieske merged commit 3e90501 into master Aug 7, 2026
4 checks passed
@rieske
rieske deleted the refactor/sysv-arg-sequence branch August 7, 2026 13:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants