Skip to content

ethdebug: Carry the semantic debug info sidecar across the textual Yul boundry - #9

Open
djolertrk wants to merge 1 commit into
feature/ethdebug-yul-side-tablefrom
feature/semantic-debug-info
Open

djolertrk wants to merge 1 commit into
feature/ethdebug-yul-side-tablefrom
feature/semantic-debug-info

Conversation

@djolertrk

Copy link
Copy Markdown
Collaborator

Serialize the side table as its versioned JSON sidecar and accept it back, so a two-stage Solidity -> Yul and Yul -> bytecode compilation produces the same debug output as a one-stage one, and other Yul-based frontends can supply their own semantic debug info:

  • Standard JSON: the irEthdebug output emits the sidecar of a contract's ir output; auxiliaryInput.ethdebug attaches one to Yul input.
  • CLI: --ir-ethdebug emits it; --ethdebug-input attaches one in strict assembly mode.

Attached records flow into the ethdebug outputs of the Yul pipeline: resources are published from the attached table, and the program-level context of the assembled objects is derived from it, under the sidecar's contract name.

@djolertrk
djolertrk added this pull request to stack #6 October 5, 2026 08:21
@djolertrk

Copy link
Copy Markdown
Collaborator Author

cc @cameel

@djolertrk
djolertrk force-pushed the feature/semantic-debug-info branch 2 times, most recently from 145c284 to d272e25 Compare October 9, 2026 10:51
@djolertrk
djolertrk force-pushed the feature/semantic-debug-info branch from d272e25 to 73a8bb9 Compare October 9, 2026 12:45
@djolertrk
djolertrk force-pushed the feature/semantic-debug-info branch from 73a8bb9 to 4283f50 Compare October 16, 2026 12:00
…l boundary

Serialize the side table as its versioned JSON sidecar and accept it
back, so a two-stage Solidity -> Yul and Yul -> bytecode compilation
produces the same debug output as a one-stage one, and other Yul-based
frontends can supply their own semantic debug info:

- Standard JSON: the irEthdebug output emits the sidecar of a contract's
  ir output; auxiliaryInput.ethdebug attaches one to Yul input.
- CLI: --ir-ethdebug emits it; --ethdebug-input <file> attaches one in
  strict assembly mode.

Attached records flow into the ethdebug outputs of the Yul pipeline:
resources are published from the attached table, and the program-level
context of the assembled objects is derived from it, under the sidecar's
contract name.
@djolertrk
djolertrk force-pushed the feature/semantic-debug-info branch from 4283f50 to d3fcae4 Compare October 19, 2026 15:28
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