Commit bd7f26f
[dart2wasm] Allow dynamic modules to run without re-compiling or running TFA on main module.
Accomplishes this by serializing more metadata in the main module metadata:
1) Most of this new metadata is to have access to the main module's dispatch table from the dynamic modules, including ProcedureMetadataAttributes and the DispatchTable itself.
2) Indices to create correct calling names from the dynamic module into the main module (or into the global updateable functions "table").
3) Basic tree-shaking information about classes (e.g. did TFA fully delete a member or just delete its body).
Some metadata from TFA is still expected throughout the compiler. For dynamic modules, we create pessimistic versions of this information and attach it to the new Component.
All the same dynamic module tests that were passing (or failing) before are still in the same state. This significantly speeds up compilation of dynamic modules though as only necessary code is compiled and TFA is not run.
Change-Id: I109f53cf5dcbe6579c0f78e71ce7779d593455e9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/415500
Reviewed-by: Martin Kustermann <[email protected]>1 parent 81c3a50 commit bd7f26f
File tree
15 files changed
+1343
-866
lines changed- pkg/dart2wasm/lib
- sdk/lib/_internal/wasm/lib
15 files changed
+1343
-866
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
| |||
375 | 376 | | |
376 | 377 | | |
377 | 378 | | |
378 | | - | |
379 | | - | |
| 379 | + | |
| 380 | + | |
380 | 381 | | |
381 | 382 | | |
382 | 383 | | |
| |||
551 | 552 | | |
552 | 553 | | |
553 | 554 | | |
554 | | - | |
555 | | - | |
556 | | - | |
557 | 555 | | |
558 | 556 | | |
559 | 557 | | |
560 | | - | |
561 | | - | |
562 | | - | |
563 | | - | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
564 | 569 | | |
565 | 570 | | |
566 | 571 | | |
| |||
709 | 714 | | |
710 | 715 | | |
711 | 716 | | |
712 | | - | |
713 | | - | |
714 | | - | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
715 | 720 | | |
716 | 721 | | |
717 | 722 | | |
| |||
805 | 810 | | |
806 | 811 | | |
807 | 812 | | |
808 | | - | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
809 | 816 | | |
810 | 817 | | |
811 | 818 | | |
| |||
945 | 952 | | |
946 | 953 | | |
947 | 954 | | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
948 | 966 | | |
949 | 967 | | |
950 | 968 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1828 | 1828 | | |
1829 | 1829 | | |
1830 | 1830 | | |
| 1831 | + | |
1831 | 1832 | | |
1832 | | - | |
| 1833 | + | |
| 1834 | + | |
| 1835 | + | |
| 1836 | + | |
| 1837 | + | |
| 1838 | + | |
1833 | 1839 | | |
1834 | 1840 | | |
1835 | 1841 | | |
| |||
1924 | 1930 | | |
1925 | 1931 | | |
1926 | 1932 | | |
1927 | | - | |
1928 | | - | |
1929 | | - | |
| 1933 | + | |
| 1934 | + | |
| 1935 | + | |
| 1936 | + | |
| 1937 | + | |
1930 | 1938 | | |
1931 | 1939 | | |
1932 | 1940 | | |
1933 | | - | |
1934 | | - | |
1935 | | - | |
1936 | | - | |
1937 | | - | |
1938 | | - | |
1939 | | - | |
1940 | | - | |
1941 | | - | |
1942 | | - | |
1943 | | - | |
1944 | | - | |
1945 | | - | |
1946 | | - | |
1947 | | - | |
1948 | | - | |
1949 | | - | |
1950 | | - | |
1951 | | - | |
1952 | | - | |
1953 | | - | |
1954 | | - | |
1955 | | - | |
1956 | | - | |
1957 | | - | |
1958 | | - | |
1959 | | - | |
1960 | | - | |
1961 | | - | |
1962 | | - | |
1963 | | - | |
1964 | | - | |
1965 | | - | |
1966 | | - | |
1967 | | - | |
1968 | | - | |
| 1941 | + | |
| 1942 | + | |
| 1943 | + | |
| 1944 | + | |
| 1945 | + | |
| 1946 | + | |
| 1947 | + | |
| 1948 | + | |
| 1949 | + | |
| 1950 | + | |
| 1951 | + | |
| 1952 | + | |
| 1953 | + | |
| 1954 | + | |
| 1955 | + | |
| 1956 | + | |
| 1957 | + | |
| 1958 | + | |
| 1959 | + | |
| 1960 | + | |
| 1961 | + | |
| 1962 | + | |
1969 | 1963 | | |
1970 | | - | |
| 1964 | + | |
| 1965 | + | |
| 1966 | + | |
| 1967 | + | |
1971 | 1968 | | |
1972 | | - | |
1973 | | - | |
1974 | | - | |
1975 | 1969 | | |
1976 | 1970 | | |
1977 | 1971 | | |
1978 | | - | |
| 1972 | + | |
1979 | 1973 | | |
1980 | 1974 | | |
1981 | | - | |
| 1975 | + | |
1982 | 1976 | | |
1983 | | - | |
1984 | | - | |
| 1977 | + | |
1985 | 1978 | | |
1986 | 1979 | | |
1987 | 1980 | | |
| |||
1990 | 1983 | | |
1991 | 1984 | | |
1992 | 1985 | | |
1993 | | - | |
1994 | | - | |
| 1986 | + | |
| 1987 | + | |
| 1988 | + | |
1995 | 1989 | | |
1996 | 1990 | | |
1997 | | - | |
| 1991 | + | |
1998 | 1992 | | |
1999 | 1993 | | |
2000 | 1994 | | |
| |||
2102 | 2096 | | |
2103 | 2097 | | |
2104 | 2098 | | |
2105 | | - | |
| 2099 | + | |
2106 | 2100 | | |
2107 | 2101 | | |
2108 | 2102 | | |
| |||
2143 | 2137 | | |
2144 | 2138 | | |
2145 | 2139 | | |
| 2140 | + | |
2146 | 2141 | | |
2147 | 2142 | | |
2148 | | - | |
2149 | | - | |
| 2143 | + | |
| 2144 | + | |
| 2145 | + | |
| 2146 | + | |
2150 | 2147 | | |
2151 | 2148 | | |
2152 | 2149 | | |
| |||
2229 | 2226 | | |
2230 | 2227 | | |
2231 | 2228 | | |
2232 | | - | |
2233 | | - | |
2234 | | - | |
2235 | | - | |
2236 | | - | |
| 2229 | + | |
2237 | 2230 | | |
2238 | 2231 | | |
2239 | 2232 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
183 | 183 | | |
184 | 184 | | |
185 | 185 | | |
186 | | - | |
| 186 | + | |
| 187 | + | |
187 | 188 | | |
188 | 189 | | |
189 | 190 | | |
| |||
222 | 223 | | |
223 | 224 | | |
224 | 225 | | |
225 | | - | |
226 | 226 | | |
227 | 227 | | |
228 | 228 | | |
229 | | - | |
230 | | - | |
| 229 | + | |
| 230 | + | |
231 | 231 | | |
232 | 232 | | |
233 | 233 | | |
| |||
268 | 268 | | |
269 | 269 | | |
270 | 270 | | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
271 | 276 | | |
272 | 277 | | |
273 | 278 | | |
274 | 279 | | |
275 | 280 | | |
276 | 281 | | |
277 | | - | |
| 282 | + | |
| 283 | + | |
278 | 284 | | |
279 | | - | |
280 | | - | |
281 | | - | |
282 | | - | |
283 | | - | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
284 | 290 | | |
285 | 291 | | |
286 | 292 | | |
| |||
295 | 301 | | |
296 | 302 | | |
297 | 303 | | |
298 | | - | |
299 | | - | |
300 | | - | |
301 | | - | |
302 | 304 | | |
303 | 305 | | |
304 | 306 | | |
| |||
340 | 342 | | |
341 | 343 | | |
342 | 344 | | |
343 | | - | |
| 345 | + | |
344 | 346 | | |
345 | 347 | | |
346 | 348 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
595 | 595 | | |
596 | 596 | | |
597 | 597 | | |
| 598 | + | |
| 599 | + | |
598 | 600 | | |
599 | 601 | | |
600 | 602 | | |
| |||
0 commit comments