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

Replace codeversion with feature flags. #198

Merged
merged 1 commit into from
Apr 20, 2018
Merged

Replace codeversion with feature flags. #198

merged 1 commit into from
Apr 20, 2018

Conversation

dvander
Copy link
Member

@dvander dvander commented Apr 20, 2018

The codeversion field is a little too heavy weight and makes it difficult to support parallel
compiler branches. We ideally need a major/minor system or a feature flag set. In this patch
we opt for feature flags since they also make it easier to develop experimental features.

The version has been bumped to 13 for this patch.

Newer compilers will still emit codeversion=11 by default. The feature bits will still be present,
but set to zero. This is legal since the file format requires ignoring extra data between the
header and code blob, and indeed all old VMs follow this rule.

The codeversion field is a little too heavy weight and makes it difficult to support parallel
compiler branches. We ideally need a major/minor system or a feature flag set. In this patch
we opt for feature flags since they also make it easier to develop experimental features.

The codeversion has been bumped to 13 for this patch. Older VMs will reject binaries with this
codeversion.

Newer compilers will still emit codeversion=11 by default. The feature bits will still be present,
but set to zero. This is legal since the file format requires ignoring extra data between the
header and code blob, and indeed all old VMs follow this rule.
@dvander dvander merged commit 85a8fa4 into master Apr 20, 2018
@dvander dvander deleted the feature-flags branch April 20, 2018 06:17
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.

1 participant