Make P4_16 stack implementation the default #564
Merged
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.
As previously announced, we are making the P4_16-conformant
implementation for header stacks the default in prevision of the bmv2
1.11.0 release.
As a remainder, the new implementation differs from the old one in the
following ways: push_front and pop_front shift the entire stack (not
just until the next index), and pushed headers are marked as invalid
instead of valid.
The legacy implementation can be toggled by passing the
--disable-WP4-16-stacks
flag to configure.We recommend that exsiting P4_14 compilers inject an instruction to make
pushed header valid if they want to achieve a similar behavior as the
legacy implementation.
Fixes #557