Skip to content

Conversation

@steveklabnik
Copy link
Collaborator

Reduces CfgInstData size by moving variable-length data (struct fields, array elements, call args, intrinsic args) into separate storage arrays in the Cfg struct. Instructions now store (start, len) index pairs.

Changes:

  • Add extra: Vec and call_args: Vec to Cfg
  • Add push_extra/get_extra and push_call_args/get_call_args accessors
  • Refactor Call, Intrinsic, StructInit, ArrayInit variants
  • Update all consumers: builder, DCE, Display, both codegen backends

Fixes rue-vylf

🤖 Generated with Claude Code

Reduces CfgInstData size by moving variable-length data (struct fields,
array elements, call args, intrinsic args) into separate storage arrays
in the Cfg struct. Instructions now store (start, len) index pairs.

Changes:
- Add extra: Vec<CfgValue> and call_args: Vec<CfgCallArg> to Cfg
- Add push_extra/get_extra and push_call_args/get_call_args accessors
- Refactor Call, Intrinsic, StructInit, ArrayInit variants
- Update all consumers: builder, DCE, Display, both codegen backends

Fixes rue-vylf

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@steveklabnik steveklabnik added this pull request to the merge queue Dec 28, 2025
Merged via the queue into rue-language:trunk with commit ddd9573 Dec 28, 2025
4 checks passed
@steveklabnik steveklabnik deleted the steveklabnik/push-zxsukpsvulun branch December 28, 2025 05:52
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.

1 participant