Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upRename memory instructions; Rework constant handling #177
Conversation
dcodeIO
added some commits
Jul 18, 2018
dcodeIO
force-pushed the
breaking-changes
branch
5 times, most recently
from
202a7e6
to
bfc1509
Jul 19, 2018
dcodeIO
force-pushed the
breaking-changes
branch
from
bfc1509
to
f56face
Jul 19, 2018
dcodeIO
added some commits
Jul 20, 2018
dcodeIO
merged commit 39b489b
into
master
Jul 20, 2018
dcodeIO
deleted the
breaking-changes
branch
Jul 23, 2018
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.


dcodeIO commentedJul 18, 2018
•
edited
A relatively bulky collection of breaking, but mostly unavoidable, changes.
Renamed memory instructions as proposed by the bulk-memory-operations spec:
current_memory->memory.sizegrow_memory->memory.growmove_memory->memory.copy(still polyfilled)set_memory->memory.fill(still polyfilled)Moved memory management functions to the
memorynamespace as well:allocate_memory->memory.allocatefree_memory->memory.freecompare_memory->memory.compareRemoved automatic inlining of constant globals and leaves them for Binaryen to decide (see WebAssembly/binaryen#1622)
Improved 'const' enum compatibility. In turn can't export non-const enums anymore without mutable-globals explicitly activated
Improved module-level export generation so these properly export all relevant nested elements, using the correct topmost name
Enabled the
@inlinedecorator for constant variables (for example used forNaN)Added
ERROR,WARNINGandINFOmacros that emit a user-defined diagnostic when encounteredAdded experimental
gc.iterateRootsbuiltin for potential use by a bundled GCFeel free to dig through the changeset and point out strange things. It's likely that something broke.