Commit 550c25a
Object.keys consulted the per-property descriptor table and filtered
keys defined with enumerable: false; js_object_values and
js_object_entries walked the keys_array unfiltered, so
Object.defineProperty(o, k, { value }) slots leaked into entries/values
output (chalk's vendored ansi-styles: 55 entries under Perry vs Node's
45).
Add a shared descriptor_marks_non_enumerable helper and gate it behind
the same cheap any-descriptor probe js_object_keys uses, so
descriptor-free objects stay on the fast path.
Co-authored-by: Ralph Küpper <ralph@skelpo.com>
1 parent 553a9da commit 550c25a
2 files changed
Lines changed: 86 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1874 | 1874 | | |
1875 | 1875 | | |
1876 | 1876 | | |
| 1877 | + | |
| 1878 | + | |
| 1879 | + | |
| 1880 | + | |
| 1881 | + | |
| 1882 | + | |
| 1883 | + | |
| 1884 | + | |
| 1885 | + | |
| 1886 | + | |
| 1887 | + | |
| 1888 | + | |
| 1889 | + | |
| 1890 | + | |
| 1891 | + | |
| 1892 | + | |
| 1893 | + | |
| 1894 | + | |
| 1895 | + | |
| 1896 | + | |
| 1897 | + | |
| 1898 | + | |
| 1899 | + | |
| 1900 | + | |
1877 | 1901 | | |
1878 | 1902 | | |
1879 | 1903 | | |
| |||
1963 | 1987 | | |
1964 | 1988 | | |
1965 | 1989 | | |
| 1990 | + | |
| 1991 | + | |
| 1992 | + | |
| 1993 | + | |
| 1994 | + | |
1966 | 1995 | | |
1967 | 1996 | | |
1968 | 1997 | | |
1969 | 1998 | | |
1970 | 1999 | | |
1971 | 2000 | | |
1972 | 2001 | | |
| 2002 | + | |
| 2003 | + | |
| 2004 | + | |
1973 | 2005 | | |
1974 | 2006 | | |
1975 | 2007 | | |
| |||
2101 | 2133 | | |
2102 | 2134 | | |
2103 | 2135 | | |
| 2136 | + | |
| 2137 | + | |
| 2138 | + | |
| 2139 | + | |
| 2140 | + | |
2104 | 2141 | | |
2105 | 2142 | | |
2106 | 2143 | | |
2107 | 2144 | | |
2108 | 2145 | | |
2109 | 2146 | | |
2110 | 2147 | | |
| 2148 | + | |
| 2149 | + | |
| 2150 | + | |
2111 | 2151 | | |
2112 | 2152 | | |
2113 | 2153 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
642 | 642 | | |
643 | 643 | | |
644 | 644 | | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
0 commit comments