Skip to content

Conversation

dmlloyd
Copy link
Member

@dmlloyd dmlloyd commented May 13, 2025

When a value is being popped, and the creation of the value involves void-typed operations whose only side effect is to mutate or set up that value, then we can revoke the void-typed nodes and pop their dependencies. In some cases the entire operation can be erased, if the mutation operation values do not have any side effects.

Also fixed a bug in Dup#pop where the node returned can be null due to excising the node from the list before capturing its prev pointer.

When a value is being popped, and the creation of the value involves void-typed operations whose only side effect is to mutate or set up that value, then we can revoke the void-typed nodes and pop their dependencies. In some cases the entire operation can be erased, if the mutation operation values do not have any side effects.

Also fixed a bug in `Dup#pop` where the node returned can be null due to excising the node from the list before capturing its `prev` pointer.
@dmlloyd dmlloyd requested a review from Ladicek May 13, 2025 16:47
@dmlloyd dmlloyd added the 2.x Issue applies to Gizmo 2.x label May 13, 2025
Copy link
Contributor

@Ladicek Ladicek left a comment

Choose a reason for hiding this comment

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

I don't think this makes too big of a difference in practice, but why not :-)

@Ladicek Ladicek moved this to In Progress in WG - Gizmo 2 May 14, 2025
@Ladicek Ladicek merged commit 0f575a3 into quarkusio:main May 14, 2025
1 check passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in WG - Gizmo 2 May 14, 2025
@dmlloyd dmlloyd deleted the revoke branch May 14, 2025 11:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2.x Issue applies to Gizmo 2.x
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants