Skip to content

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.

2 participants