Commit e480c74
[vm] Fix corruption of null and following objects during OOM.
Array::New[Uninitialized] don't expect to get null from Object::Allocate. Using longjmp seems more robust than adding checks everywhere.
TEST=vm/dart/gc/scavenger_abort_test
Bug: #60552
Change-Id: I2750427c41751f8306d5c8dc28afaf052b6e9d74
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/422902
Commit-Queue: Ryan Macnak <[email protected]>
Reviewed-by: Alexander Aprelev <[email protected]>1 parent 779a196 commit e480c74
3 files changed
+28
-56
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
712 | 712 | | |
713 | 713 | | |
714 | 714 | | |
715 | | - | |
716 | | - | |
717 | | - | |
718 | | - | |
719 | | - | |
720 | | - | |
721 | | - | |
722 | | - | |
723 | | - | |
724 | | - | |
725 | | - | |
726 | | - | |
727 | | - | |
728 | | - | |
729 | | - | |
730 | | - | |
731 | | - | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
732 | 732 | | |
733 | 733 | | |
734 | | - | |
735 | | - | |
736 | 734 | | |
737 | 735 | | |
738 | 736 | | |
739 | 737 | | |
740 | 738 | | |
741 | 739 | | |
742 | | - | |
743 | | - | |
744 | | - | |
745 | | - | |
746 | | - | |
747 | | - | |
748 | | - | |
749 | | - | |
750 | | - | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
751 | 744 | | |
752 | 745 | | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
753 | 752 | | |
754 | | - | |
755 | 753 | | |
756 | 754 | | |
757 | 755 | | |
| |||
802 | 800 | | |
803 | 801 | | |
804 | 802 | | |
805 | | - | |
806 | | - | |
807 | | - | |
808 | | - | |
809 | 803 | | |
810 | 804 | | |
| 805 | + | |
811 | 806 | | |
812 | 807 | | |
813 | 808 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2891 | 2891 | | |
2892 | 2892 | | |
2893 | 2893 | | |
2894 | | - | |
2895 | | - | |
2896 | | - | |
2897 | 2894 | | |
2898 | 2895 | | |
2899 | 2896 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
757 | 757 | | |
758 | 758 | | |
759 | 759 | | |
760 | | - | |
761 | | - | |
762 | 760 | | |
763 | 761 | | |
764 | 762 | | |
| |||
1458 | 1456 | | |
1459 | 1457 | | |
1460 | 1458 | | |
1461 | | - | |
1462 | 1459 | | |
1463 | 1460 | | |
1464 | 1461 | | |
| |||
1632 | 1629 | | |
1633 | 1630 | | |
1634 | 1631 | | |
1635 | | - | |
1636 | 1632 | | |
1637 | 1633 | | |
1638 | 1634 | | |
| |||
1861 | 1857 | | |
1862 | 1858 | | |
1863 | 1859 | | |
1864 | | - | |
1865 | | - | |
1866 | | - | |
1867 | | - | |
1868 | | - | |
1869 | | - | |
1870 | | - | |
1871 | | - | |
1872 | | - | |
1873 | | - | |
1874 | | - | |
1875 | | - | |
1876 | | - | |
1877 | | - | |
1878 | | - | |
1879 | | - | |
1880 | 1860 | | |
1881 | 1861 | | |
1882 | 1862 | | |
0 commit comments