diff options
author | Thomas Lively <tlively@google.com> | 2024-12-17 23:06:03 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-18 07:06:03 +0000 |
commit | d444abdc9fcee98715813f03e28aa7070879c414 (patch) | |
tree | 79e074285c57490d15cf34d4f1c377cd89da88eb /test/lit/passes/cfp.wast | |
parent | 7c8cd2f4a51213964f6f1ec11e54d2b6e721cdaf (diff) | |
download | binaryen-d444abdc9fcee98715813f03e28aa7070879c414.tar.gz binaryen-d444abdc9fcee98715813f03e28aa7070879c414.tar.bz2 binaryen-d444abdc9fcee98715813f03e28aa7070879c414.zip |
Handle atomic accesses in Heap2Local (#7158)
Heap2Local replaces gets and sets of non-escaping heap allocations with
gets and sets of locals. Since the accessed data does not escape, it
cannot be used to directly synchronize with other threads, so this
optimization is generally safe even in the presence of shared structs
and atomic struct accesses. The only caveat is that sequentially
consistent accesses additionally participate in the global ordering of
sequentially consistent operations, and that effect on the global
ordering cannot be removed. Insert seqcst fences to maintain this global
synchronization when removing sequentially consistent gets and sets.
Diffstat (limited to 'test/lit/passes/cfp.wast')
0 files changed, 0 insertions, 0 deletions