Skip to content

Fuzzer: Emit try-delegate instructions - #9200

Open
tlively wants to merge 1 commit into
fuzzer-more-br-on-descfrom
fuzzer-delegate
Open

tlively wants to merge 1 commit into
fuzzer-more-br-on-descfrom
fuzzer-delegate

Conversation

@tlively

@tlively tlively commented Oct 3, 2026

Copy link
Copy Markdown
Member

Add try-delegate generation to TranslateToFuzzReader::makeTry and update
fixAfterChanges to preserve DELEGATE_CALLER_TARGET on try-delegates.

Also fix three bugs uncovered by fuzzing delegate and add regression tests:

  • Preserve concrete stack types on StackInst::Delegate in StackIRGenerator.
  • Increment controlFlowDepth after printing the condition in
    PrintSExpression::visitIf and pop catchIndexStack on StackInst::Delegate in
    printStackIR.
  • Use dynCast() instead of cast() when walking tryStack in
    CFGWalker.

Add try-delegate generation to TranslateToFuzzReader::makeTry and update
fixAfterChanges to preserve DELEGATE_CALLER_TARGET on try-delegates.

Also fix three bugs uncovered by fuzzing delegate and add regression tests:
- Preserve concrete stack types on StackInst::Delegate in StackIRGenerator.
- Increment controlFlowDepth after printing the condition in
  PrintSExpression::visitIf and pop catchIndexStack on StackInst::Delegate in
  printStackIR.
- Use dynCast<Try>() instead of cast<Try>() when walking tryStack in
  CFGWalker.
@tlively
tlively requested a review from a team as a code owner October 3, 2026 18:43
@tlively
tlively requested review from kripken and removed request for a team October 3, 2026 18:43

This branch has not been deployed

No deployments
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