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

Conversation

@dvander
Copy link
Member

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 force-pushed the feature-flags branch from 1d3acdb to 4d3226f Apr 20, 2018
@dvander dvander merged commit 85a8fa4 into master Apr 20, 2018
2 checks passed
2 checks passed
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@dvander dvander deleted the feature-flags branch Apr 20, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant
You can’t perform that action at this time.