Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
unreachable
is a hint to the developer and the compiler that the code is not reachable.A
VMClass>>unreachable
method exists but 1. was not used that much, 2. was not a noop on production.Lot of places used a comment
"NOTREACHED"
to indicate the same thing, but such comments are not checked at runtime in debug mode and they do not provide opportunities for optimizations.So the PR improve unreachable and use it instead of "NOTREACHED" comments.
The only one that remain is in
RegisterAllocatingCogit >> genJumpIf:to:
and is inside a statement list, and that's weird.A future improvement will be to pass the information to the C compiler (e.g.
__builtin_unreachable
in GCC, orunreachable
in C23). But I'm still not sure about the best portable way to do that.