forked fromdotnet/fsharp
- Notifications
You must be signed in to change notification settings - Fork0
Commitf070cb8
authored
Collapse Val with ValData, Entity with EntityData, Typar with TyparData (dotnet#2384)
The F# compiler code has always used a separationValRef --> Val --> ValDataEntityRef --> Entity --> EntityDataTypar --> TyparDatawhere the Val node was just a { mutable Data: ValData }. This was to enable the easy coding of the TastUnpickle deserialization routine which filled in the data (Link) while declaring ValData as immutable as possible. (likewise Entity, Typar)The Val and ValData fields can be collapsed into one object if we accept that the Link routine can mutate the fields of a unchecked-initialized Val.As well as saving the indirection during processing, the memory listings here indicate that about 5MB out of 150MB of data is spent on these Val/Tycon/Entity nodes.1 parent8da7286 commitf070cb8
File tree
11 files changed
+473
-370
lines changed- src/fsharp
- vs
11 files changed
+473
-370
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3973 | 3973 | | |
3974 | 3974 | | |
3975 | 3975 | | |
3976 | | - | |
| 3976 | + | |
3977 | 3977 | | |
3978 | 3978 | | |
3979 | 3979 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
431 | 431 | | |
432 | 432 | | |
433 | 433 | | |
434 | | - | |
435 | | - | |
436 | | - | |
| 434 | + | |
| 435 | + | |
437 | 436 | | |
438 | 437 | | |
439 | 438 | | |
| |||
695 | 694 | | |
696 | 695 | | |
697 | 696 | | |
698 | | - | |
699 | | - | |
| 697 | + | |
700 | 698 | | |
701 | 699 | | |
702 | 700 | | |
| |||
1631 | 1629 | | |
1632 | 1630 | | |
1633 | 1631 | | |
1634 | | - | |
1635 | | - | |
1636 | | - | |
| 1632 | + | |
| 1633 | + | |
1637 | 1634 | | |
1638 | 1635 | | |
1639 | 1636 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3383 | 3383 | | |
3384 | 3384 | | |
3385 | 3385 | | |
3386 | | - | |
| 3386 | + | |
3387 | 3387 | | |
3388 | 3388 | | |
3389 | 3389 | | |
| |||
5193 | 5193 | | |
5194 | 5194 | | |
5195 | 5195 | | |
5196 | | - | |
| 5196 | + | |
5197 | 5197 | | |
5198 | 5198 | | |
5199 | 5199 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
492 | 492 | | |
493 | 493 | | |
494 | 494 | | |
495 | | - | |
| 495 | + | |
496 | 496 | | |
497 | 497 | | |
498 | 498 | | |
| |||
3087 | 3087 | | |
3088 | 3088 | | |
3089 | 3089 | | |
3090 | | - | |
| 3090 | + | |
3091 | 3091 | | |
3092 | 3092 | | |
3093 | 3093 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
156 | 156 | | |
157 | 157 | | |
158 | 158 | | |
159 | | - | |
| 159 | + | |
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
| |||
1195 | 1195 | | |
1196 | 1196 | | |
1197 | 1197 | | |
1198 | | - | |
| 1198 | + | |
1199 | 1199 | | |
1200 | 1200 | | |
1201 | 1201 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
158 | 158 | | |
159 | 159 | | |
160 | 160 | | |
161 | | - | |
| 161 | + | |
162 | 162 | | |
163 | 163 | | |
164 | 164 | | |
| |||
231 | 231 | | |
232 | 232 | | |
233 | 233 | | |
234 | | - | |
| 234 | + | |
235 | 235 | | |
236 | 236 | | |
237 | 237 | | |
| |||
297 | 297 | | |
298 | 298 | | |
299 | 299 | | |
300 | | - | |
| 300 | + | |
301 | 301 | | |
302 | 302 | | |
303 | 303 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
278 | 278 | | |
279 | 279 | | |
280 | 280 | | |
281 | | - | |
| 281 | + | |
282 | 282 | | |
283 | 283 | | |
284 | 284 | | |
| |||
529 | 529 | | |
530 | 530 | | |
531 | 531 | | |
532 | | - | |
| 532 | + | |
533 | 533 | | |
534 | 534 | | |
535 | 535 | | |
| |||
1928 | 1928 | | |
1929 | 1929 | | |
1930 | 1930 | | |
1931 | | - | |
| 1931 | + | |
1932 | 1932 | | |
1933 | 1933 | | |
1934 | 1934 | | |
| |||
2230 | 2230 | | |
2231 | 2231 | | |
2232 | 2232 | | |
2233 | | - | |
2234 | | - | |
| 2233 | + | |
| 2234 | + | |
2235 | 2235 | | |
2236 | 2236 | | |
2237 | 2237 | | |
| |||
4579 | 4579 | | |
4580 | 4580 | | |
4581 | 4581 | | |
4582 | | - | |
| 4582 | + | |
4583 | 4583 | | |
4584 | 4584 | | |
4585 | 4585 | | |
| |||
4610 | 4610 | | |
4611 | 4611 | | |
4612 | 4612 | | |
4613 | | - | |
| 4613 | + | |
| 4614 | + | |
| 4615 | + | |
4614 | 4616 | | |
4615 | 4617 | | |
4616 | 4618 | | |
| |||
4963 | 4965 | | |
4964 | 4966 | | |
4965 | 4967 | | |
4966 | | - | |
4967 | | - | |
4968 | | - | |
| 4968 | + | |
4969 | 4969 | | |
4970 | 4970 | | |
4971 | 4971 | | |
| |||
6864 | 6864 | | |
6865 | 6865 | | |
6866 | 6866 | | |
6867 | | - | |
| 6867 | + | |
6868 | 6868 | | |
6869 | 6869 | | |
6870 | | - | |
6871 | | - | |
6872 | | - | |
| 6870 | + | |
| 6871 | + | |
| 6872 | + | |
6873 | 6873 | | |
6874 | 6874 | | |
6875 | 6875 | | |
| |||
7626 | 7626 | | |
7627 | 7627 | | |
7628 | 7628 | | |
7629 | | - | |
| 7629 | + | |
7630 | 7630 | | |
7631 | 7631 | | |
7632 | 7632 | | |
| |||
7644 | 7644 | | |
7645 | 7645 | | |
7646 | 7646 | | |
| 7647 | + | |
7647 | 7648 | | |
7648 | 7649 | | |
7649 | 7650 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
115 | 115 | | |
116 | 116 | | |
117 | 117 | | |
118 | | - | |
| 118 | + | |
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
| |||
672 | 672 | | |
673 | 673 | | |
674 | 674 | | |
675 | | - | |
676 | | - | |
677 | | - | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
678 | 678 | | |
679 | 679 | | |
680 | 680 | | |
| |||
694 | 694 | | |
695 | 695 | | |
696 | 696 | | |
697 | | - | |
698 | | - | |
699 | | - | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
700 | 700 | | |
701 | 701 | | |
702 | 702 | | |
| |||
1515 | 1515 | | |
1516 | 1516 | | |
1517 | 1517 | | |
1518 | | - | |
| 1518 | + | |
1519 | 1519 | | |
1520 | 1520 | | |
1521 | 1521 | | |
| |||
1542 | 1542 | | |
1543 | 1543 | | |
1544 | 1544 | | |
1545 | | - | |
| 1545 | + | |
| 1546 | + | |
1546 | 1547 | | |
1547 | 1548 | | |
1548 | 1549 | | |
| |||
1716 | 1717 | | |
1717 | 1718 | | |
1718 | 1719 | | |
1719 | | - | |
| 1720 | + | |
1720 | 1721 | | |
1721 | 1722 | | |
1722 | 1723 | | |
| |||
1974 | 1975 | | |
1975 | 1976 | | |
1976 | 1977 | | |
1977 | | - | |
| 1978 | + | |
1978 | 1979 | | |
1979 | 1980 | | |
1980 | 1981 | | |
| |||
0 commit comments
Comments
(0)