Commit 1fbb666
committed
Use zend_std_build_properties() to access zend_object.properties
The zend_object.properties HashTable needs to be built just in time by calling
rebuild_object_properties() on the object before accessing it. Normally this is
done automatically in zend_std_get_properties(), but we do it manually in a few
places.
In this change I introduce an inline variant of zend_std_build_properties(), and
refactor these places to use it instead of calling rebuild_object_properties()
manually.
rebuild_object_properties() renamed as rebuild_object_properties_internal(), to
enforce usage of zend_std_get_properties() or zend_std_build_properties_ex().
Closes phpGH-149961 parent 436baae commit 1fbb666
File tree
14 files changed
+124
-257
lines changed- Zend
- ext
- date
- pdo
- random
- spl
14 files changed
+124
-257
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
97 | 102 | | |
98 | 103 | | |
99 | 104 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| 34 | + | |
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
| |||
1764 | 1765 | | |
1765 | 1766 | | |
1766 | 1767 | | |
1767 | | - | |
1768 | | - | |
1769 | | - | |
1770 | | - | |
| 1768 | + | |
1771 | 1769 | | |
1772 | 1770 | | |
1773 | 1771 | | |
| |||
1779 | 1777 | | |
1780 | 1778 | | |
1781 | 1779 | | |
1782 | | - | |
1783 | | - | |
1784 | | - | |
1785 | | - | |
| 1780 | + | |
1786 | 1781 | | |
1787 | 1782 | | |
1788 | 1783 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
65 | | - | |
| 65 | + | |
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| |||
130 | 130 | | |
131 | 131 | | |
132 | 132 | | |
133 | | - | |
| 133 | + | |
134 | 134 | | |
135 | 135 | | |
136 | 136 | | |
| |||
1124 | 1124 | | |
1125 | 1125 | | |
1126 | 1126 | | |
1127 | | - | |
1128 | | - | |
1129 | | - | |
1130 | | - | |
| 1127 | + | |
1131 | 1128 | | |
1132 | 1129 | | |
1133 | 1130 | | |
| |||
1312 | 1309 | | |
1313 | 1310 | | |
1314 | 1311 | | |
1315 | | - | |
| 1312 | + | |
1316 | 1313 | | |
1317 | 1314 | | |
1318 | 1315 | | |
| |||
2028 | 2025 | | |
2029 | 2026 | | |
2030 | 2027 | | |
2031 | | - | |
2032 | | - | |
2033 | | - | |
2034 | | - | |
2035 | | - | |
2036 | | - | |
2037 | | - | |
| 2028 | + | |
| 2029 | + | |
| 2030 | + | |
2038 | 2031 | | |
2039 | 2032 | | |
2040 | 2033 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
267 | 267 | | |
268 | 268 | | |
269 | 269 | | |
270 | | - | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
271 | 280 | | |
272 | 281 | | |
273 | 282 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2495 | 2495 | | |
2496 | 2496 | | |
2497 | 2497 | | |
2498 | | - | |
2499 | | - | |
2500 | | - | |
2501 | 2498 | | |
2502 | 2499 | | |
2503 | 2500 | | |
| |||
2521 | 2518 | | |
2522 | 2519 | | |
2523 | 2520 | | |
2524 | | - | |
2525 | | - | |
| 2521 | + | |
| 2522 | + | |
2526 | 2523 | | |
2527 | 2524 | | |
2528 | 2525 | | |
| |||
0 commit comments