This repository was archived by the owner on Aug 31, 2021. It is now read-only.
[[ Bug 20933 ]] Fix unchecked codegen overflow for large handlers #6311
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.
This patch changes the way instructions are turned into bytecode
for a handler. Previously there was an unreported hard limit which
meant that any handler which contained jumps with a delta > 8192
would cause a bad module to be generated. This has been fixed
by trying different sizes for jump delta encodings until one is
found which works. Very small handlers will be encoded in fewer
bytes than they are now, handlers which currently compile and work
will be the same size, and large handlers will now compile and
work correctly.