OPcode dump of `ZEND_INIT_ARRAY` should not show `(packed)` if OP1 is unused
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C
- Sterne
- 40.4k
- Forks
- 8.2k
- Ø Merge
- 2 T. 13 Std.
- Gemergte PRs (30 T.)
- 96
Beschreibung
Description
The ->extended_value (which holds the ZEND_ARRAY_NOT_PACKED flag) is completely ignored when OP1 is unused, making the (packed) indicator misleading, since the array will remain uninitalized.
The (packed) should either be removed or replaced by something like (uninit).
PHP Version
git master
Operating System
No response
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit dem verknüpften ext/standard/tests/array/array_map_foreach_optimization_001.phpt-Fall in der Nähe von Zeile 34 und untersuche den Opcode-Dump für ZEND_INIT_ARRAY. Verfolge die Verarbeitung des Dumps für ein ungenutztes OP1 und überprüfe, dass der Indikator (packed) den nicht initialisierten Array-Zustand nicht mehr falsch darstellt; aktualisiere eine PHPT-Erwartung oder füge eine hinzu, um die korrigierte Ausgabe zu zeigen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- c, php
- Bereich
- compilers
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 48/100