diff options
author | Thomas Lively <tlively@google.com> | 2022-10-11 10:23:40 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-11 08:23:40 -0700 |
commit | 6d4ac3162c290e32a98de349d49e26e904a40414 (patch) | |
tree | fa233520ed19f98700ab04462d8dbe75eefc353b /src/passes/JSPI.cpp | |
parent | 802cb0bc9407c3e1f46cf426873cdbfeed42edaf (diff) | |
download | binaryen-6d4ac3162c290e32a98de349d49e26e904a40414.tar.gz binaryen-6d4ac3162c290e32a98de349d49e26e904a40414.tar.bz2 binaryen-6d4ac3162c290e32a98de349d49e26e904a40414.zip |
[Parser] Parse folded instructions (#5124)
Parse folded expressions as described in the spec:
https://webassembly.github.io/spec/core/text/instructions.html#folded-instructions.
The old binaryen parser _only_ parses folded expressions, and furthermore
requires them to be folded such that a parent instruction consumes the values
produced by its children and only those values. The standard format is much more
general and allows folded instructions to have an arbitrary number of children
independent of dataflow.
To prevent the rest of the parser from having to know or care about the
difference between folded and unfolded instructions, parse folded instructions
after their children have been parsed. This means that a sequence of
instructions is always parsed in the order they would appear in a binary no
matter how they are folded (or not folded).
Diffstat (limited to 'src/passes/JSPI.cpp')
0 files changed, 0 insertions, 0 deletions