Skip to content

[vastly] Add fixture runner and speed up pipeline simulation#868

Merged
meheff merged 7 commits intomainfrom
meheff/2026-03-11-vastly-improvements
Mar 12, 2026
Merged

[vastly] Add fixture runner and speed up pipeline simulation#868
meheff merged 7 commits intomainfrom
meheff/2026-03-11-vastly-improvements

Conversation

@meheff
Copy link
Contributor

@meheff meheff commented Mar 11, 2026

Add a reusable fixture runner API for compiled pipeline modules, including
port binding handles plus drive/observe contexts for cycle fixtures. This
makes it easier to build higher-level simulation harnesses on top of vastly
without reimplementing per-cycle plumbing.

Also reduce pipeline compile/eval overhead in the hot paths:

  • keep assign/function expressions AST-backed through lowering instead of
    reparsing elaborated source text
  • add compile_pipeline_module_fast() so callers that do not need span-rich
    coverage metadata can skip rebuilding spanned expressions
  • reduce generate elaboration cloning by reusing env/substitution state
    during recursive expansion
  • cut Value4 allocation churn by normalizing owned values in place and
    borrowing when width/signedness already match
  • add fast paths for fully-known multiplies, including common constants and
    widths up to 128 bits

Keep the existing span-preserving path for coverage-oriented callers, and
add regression tests for fixture driving, generate-loop scope restoration,
and the new Value4 multiply behavior.

meheff added 3 commits March 11, 2026 13:22
Add a reusable fixture runner API for compiled pipeline modules, including
port binding handles plus drive/observe contexts for cycle fixtures. This
makes it easier to build higher-level simulation harnesses on top of vastly
without reimplementing per-cycle plumbing.

Also reduce pipeline compile/eval overhead in the hot paths:
- keep assign/function expressions AST-backed through lowering instead of
  reparsing elaborated source text
- add compile_pipeline_module_fast() so callers that do not need span-rich
  coverage metadata can skip rebuilding spanned expressions
- reduce generate elaboration cloning by reusing env/substitution state
  during recursive expansion
- cut Value4 allocation churn by normalizing owned values in place and
  borrowing when width/signedness already match
- add fast paths for fully-known multiplies, including common constants and
  widths up to 128 bits

Keep the existing span-preserving path for coverage-oriented callers, and
add regression tests for fixture driving, generate-loop scope restoration,
and the new Value4 multiply behavior.
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 20cb062f32

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@meheff
Copy link
Contributor Author

meheff commented Mar 11, 2026

@codex review

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 27a0bc95b4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@meheff
Copy link
Contributor Author

meheff commented Mar 12, 2026

@codex review

@meheff meheff requested a review from cdleary March 12, 2026 00:32
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 642aee60d8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@meheff meheff merged commit d9fc419 into main Mar 12, 2026
16 of 24 checks passed
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