Commit b435b40
authored
[Wasm RyuJIT] Wasm control flow basics (#121417)
Determine how to emit Wasm control flow from the JIT's control flow
graph.
Relies on loop-aware RPO to determine the block order. Currently only
handles the main method. Assumes irreducible loops have been fixed
upstream (which is not yet guaranteed; bails out if not so).
Doesn't actually do any emission, just prints a textual description in
the JIT dump (along with a dot markup version).
Uses only LOOP and BLOCK. Tries to limit the extent of BLOCK.
Run for now as an optional phase even if not targeting Wasm, to do some
stress testing.
Contributes to #1211781 parent c84d65d commit b435b40
File tree
7 files changed
+879
-0
lines changed- src/coreclr/jit
7 files changed
+879
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
115 | 115 | | |
116 | 116 | | |
117 | 117 | | |
| 118 | + | |
118 | 119 | | |
119 | 120 | | |
120 | 121 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5016 | 5016 | | |
5017 | 5017 | | |
5018 | 5018 | | |
| 5019 | + | |
| 5020 | + | |
| 5021 | + | |
| 5022 | + | |
| 5023 | + | |
| 5024 | + | |
| 5025 | + | |
| 5026 | + | |
| 5027 | + | |
| 5028 | + | |
5019 | 5029 | | |
5020 | 5030 | | |
5021 | 5031 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6237 | 6237 | | |
6238 | 6238 | | |
6239 | 6239 | | |
| 6240 | + | |
| 6241 | + | |
6240 | 6242 | | |
6241 | 6243 | | |
6242 | 6244 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
| 71 | + | |
71 | 72 | | |
72 | 73 | | |
73 | 74 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
122 | 122 | | |
123 | 123 | | |
124 | 124 | | |
| 125 | + | |
| 126 | + | |
125 | 127 | | |
126 | 128 | | |
127 | 129 | | |
| |||
0 commit comments