Skip to content

Mark all core run functions with noexcept #2251

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

Merged
merged 1 commit into from
Jan 25, 2023
Merged

Mark all core run functions with noexcept #2251

merged 1 commit into from
Jan 25, 2023

Conversation

kcgen
Copy link
Member

@kcgen kcgen commented Jan 25, 2023

The cores do not use, handle, or throw exceptions.

There were only a couple uses of the new operator inside the entire src/cpu tree (new itself can throw if it fails to allocate, so this commit moves those to their no-throwing variant).

The cores themselves only use return codes for signal handling and control flow (both good and bad). If things go off the rails, they quit immediately with E_Exit().

This simply labels them as such (programmatically) as it's how they were designed.

The cores do not use, handle, or throw exceptions.

There were only a couple uses of the "new" operator,
which can throw if it fails to allocate memory. So this
commit move those to the no-throwing variant.

The core themselves only use return codes to manage signal
handling and control flow (both good and bad).  If things
go off the rails, they quit immediately with E_Exit.
@kcgen kcgen changed the title Mark all core run functions with noexcept Mark all core run functions with noexcept Jan 25, 2023
@kcgen kcgen self-assigned this Jan 25, 2023
@kcgen kcgen added the plumbing Issues related to low-level support functions and classes label Jan 25, 2023
@kcgen kcgen merged commit 4381ff8 into main Jan 25, 2023
@delete-merged-branch delete-merged-branch bot deleted the kc/cores-noexcept-1 branch January 25, 2023 15:42
@Grounded0 Grounded0 added the CPU/FPU emulation Issues related to CPU or FPU emulation label Jun 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CPU/FPU emulation Issues related to CPU or FPU emulation plumbing Issues related to low-level support functions and classes
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants