Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1568 some last mmio issues second part #1571

Merged
merged 9 commits into from
Nov 27, 2024

Conversation

letypequividelespoubelles
Copy link
Collaborator

No description provided.

Signed-off-by: F Bojarski <ceciestunepoubelle@protonmail.ch>
Signed-off-by: F Bojarski <ceciestunepoubelle@protonmail.ch>
@letypequividelespoubelles letypequividelespoubelles linked an issue Nov 26, 2024 that may be closed by this pull request
Signed-off-by: F Bojarski <ceciestunepoubelle@protonmail.ch>
Signed-off-by: F Bojarski <ceciestunepoubelle@protonmail.ch>
Signed-off-by: F Bojarski <ceciestunepoubelle@protonmail.ch>
&& ((ModexpSubsection) precompileSubsection).transactionWillBePopped) {
hub.defers().unscheduleForContextReEntry(this, hub.currentFrame());
hub.defers().unscheduleForPostTransaction(this);
}
Copy link
Collaborator

@OlivierBBB OlivierBBB Nov 27, 2024

Choose a reason for hiding this comment

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

Wouldn't it make more sense to

  • schedule all the PrecompileSubsection's that aren't instanceof ModexpSubsection
  • only schedule a ModexpSubsection if !transactionWillBePopped ?

You are scheduling and unscheduling but you already have all requisite information to decide whether you will need to schedule at all.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I do agree, but I find it way more readable to do it in any case, and undo it in some (very rare) case.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

plus when we schedule for postTransaction, we still don't have the information as the precompile subsection is created after. So in any case we'll have to unschedule it.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I agree that both should be equivalent. Your call


public void unscheduleForPostTransaction(PostTransactionDefer defer) {
postTransactionDefers.remove(defer);
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

As explained below I'm not convinced we need this.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

see other comment. We schedule for postTx at the creation of the callSection, when the (modexp) subsection is still not created, so we don't have the info at the time of the schedulling.

Copy link
Collaborator

Choose a reason for hiding this comment

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

So wouldn't we have to unscheduled the postTransaction stuff, too ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

this is the postTx we unschedule !

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

The one we don't unSchedule (because it doesn't create NPE) is contextEntry

Signed-off-by: F Bojarski <ceciestunepoubelle@protonmail.ch>
Copy link
Collaborator

@OlivierBBB OlivierBBB left a comment

Choose a reason for hiding this comment

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

LGTM

@letypequividelespoubelles letypequividelespoubelles merged commit b84367b into arith-dev Nov 27, 2024
5 checks passed
@letypequividelespoubelles letypequividelespoubelles deleted the 1568-some-last-mmio-issues branch November 27, 2024 17:32
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.

some last MMIO issues
2 participants