php / php/php-src

OPcode dump of `ZEND_INIT_ARRAY` should not show `(packed)` if OP1 is unused

Offen
#20,978 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bug Status: Needs Triage
Vorherrschende Sprache
C
Sterne
40.4k
Forks
8.2k
Ø Merge
2 T. 13 Std.
Gemergte PRs (30 T.)
96

Beschreibung

Description

https://github.com/php/php-src/blob/0caebcd1966813dd8ac7546f8e94cb6c83a1d873/ext/standard/tests/array/array_map_foreach_optimization_001.phpt#L34

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

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Ö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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.