summaryrefslogtreecommitdiff
path: root/src/parsing.h
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2024-09-18 15:55:43 -0700
committerGitHub <noreply@github.com>2024-09-18 15:55:43 -0700
commit5e4a4bae6544eda7d6e5be923bd1086921ffcb1b (patch)
tree4bc7cf991eb4f4709fcdaf1df33ba5f5ff8fce09 /src/parsing.h
parentb381a8c82030c2be3d1605d6f2854098f039f617 (diff)
downloadbinaryen-5e4a4bae6544eda7d6e5be923bd1086921ffcb1b.tar.gz
binaryen-5e4a4bae6544eda7d6e5be923bd1086921ffcb1b.tar.bz2
binaryen-5e4a4bae6544eda7d6e5be923bd1086921ffcb1b.zip
[NFC + bugfix] Remove BreakTargetLocation from GUFA (#6956)
Before, a br would send its value to a BreakTargetLocation. That would then be linked to the target: { br's value } => BreakTargetLocation(target name) => { location of target } This PR skips the middle: { br's value } => { location of target } It just connects breaks directly to the targets. We can do that if we keep a map of the targets as we go. This is 2% faster as well as simplifies the code, as an NFC refactoring. But it also fixes a bug: we have handling on ExpressionLocation that filters values as they come in (they must accord with the expression's type). We were not doing that on BreakTargetLocation, leading to an assert. Removing BreakTargetLocation entirely is easier and better than adding filtering logic for it. Fixes #6955
Diffstat (limited to 'src/parsing.h')
0 files changed, 0 insertions, 0 deletions