Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
178 changes: 127 additions & 51 deletions docs/bootstrap-inventory.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ Regenerate: `php script/bootstrap-inventory.php`

| Metric | Count |
|--------|------:|
| PHP files on vm.php path | 4918 |
| Phase A inventory files (M2 ratio SSOT) | 4918 |
| PHP files on vm.php path | 4927 |
| Phase A inventory files (M2 ratio SSOT) | 4927 |
| Phase A ratio-deferred paths | 0 |
| Source constructs flagged (blockers) | 0 |
| Source constructs flagged (warnings) | 13168 |
| Source constructs flagged (warnings) | 13199 |

## Compiler CFG gaps (`lib/Compiler.php`)

Expand Down Expand Up @@ -347,6 +347,15 @@ Rank live CFG gaps across inventory files: `php script/bootstrap-inventory-triag
| `ext/exif/VmExifWarning.php` | 0 | 1 |
| `ext/exif/exif_imagetype.php` | 0 | 2 |
| `ext/exif/exif_read_data.php` | 0 | 5 |
| `ext/fileinfo/BuiltinClasses.php` | 0 | 7 |
| `ext/fileinfo/FileinfoConstants.php` | 0 | 1 |
| `ext/fileinfo/Module.php` | 0 | 7 |
| `ext/fileinfo/VmFinfo.php` | 0 | 3 |
| `ext/fileinfo/finfo_buffer.php` | 0 | 3 |
| `ext/fileinfo/finfo_close.php` | 0 | 2 |
| `ext/fileinfo/finfo_file.php` | 0 | 3 |
| `ext/fileinfo/finfo_open.php` | 0 | 2 |
| `ext/fileinfo/finfo_set_flags.php` | 0 | 2 |
| `ext/filter/BuiltinEnums.php` | 0 | 3 |
| `ext/filter/FilterBatchJitHelper.php` | 0 | 6 |
| `ext/filter/FilterBooleanJitHelper.php` | 0 | 1 |
Expand Down Expand Up @@ -4245,7 +4254,7 @@ Rank live CFG gaps across inventory files: `php script/bootstrap-inventory-triag
| `lib/ReadonlyFunctionRejector.php` | 0 | 2 |
| `lib/ReadonlyMethodModifierRejector.php` | 0 | 2 |
| `lib/ReferenceProfileTokenScan.php` | 0 | 1 |
| `lib/Runtime.php` | 0 | 90 |
| `lib/Runtime.php` | 0 | 91 |
| `lib/RuntimeStrictness.php` | 0 | 1 |
| `lib/SourceBareThrowRewriter.php` | 0 | 1 |
| `lib/SourcePreprocessor/PropertyHooks.php` | 0 | 5 |
Expand Down Expand Up @@ -7073,6 +7082,72 @@ Rank live CFG gaps across inventory files: `php script/bootstrap-inventory-triag
- new Variable (line 62)
- 2 class method(s)

### `ext/fileinfo/BuiltinClasses.php`

**Warnings** (review for bootstrap subset):
- new ClassEntry (line 30)
- new FinfoConstruct (line 32)
- new ArgumentCountError (line 66)
- new ArgumentCountError (line 97)
- new ArgumentCountError (line 129)
- new ArgumentCountError (line 156)
- 6 class method(s)

### `ext/fileinfo/FileinfoConstants.php`

**Warnings** (review for bootstrap subset):
- 1 class method(s)

### `ext/fileinfo/Module.php`

**Warnings** (review for bootstrap subset):
- new VM\Variable (line 29)
- new finfo_open (line 38)
- new finfo_file (line 39)
- new finfo_buffer (line 40)
- new finfo_close (line 41)
- new finfo_set_flags (line 42)
- 3 class method(s)

### `ext/fileinfo/VmFinfo.php`

**Warnings** (review for bootstrap subset):
- new Variable (line 35)
- new ObjectEntry (line 36)
- 16 class method(s)

### `ext/fileinfo/finfo_buffer.php`

**Warnings** (review for bootstrap subset):
- new ArgumentCountError (line 30)
- new ArgumentCountError (line 36)
- 2 class method(s)

### `ext/fileinfo/finfo_close.php`

**Warnings** (review for bootstrap subset):
- new ArgumentCountError (line 29)
- 2 class method(s)

### `ext/fileinfo/finfo_file.php`

**Warnings** (review for bootstrap subset):
- new ArgumentCountError (line 30)
- new ArgumentCountError (line 36)
- 2 class method(s)

### `ext/fileinfo/finfo_open.php`

**Warnings** (review for bootstrap subset):
- new ArgumentCountError (line 30)
- 2 class method(s)

### `ext/fileinfo/finfo_set_flags.php`

**Warnings** (review for bootstrap subset):
- new ArgumentCountError (line 29)
- 2 class method(s)

### `ext/filter/BuiltinEnums.php`

**Warnings** (review for bootstrap subset):
Expand Down Expand Up @@ -32725,53 +32800,54 @@ Rank live CFG gaps across inventory files: `php script/bootstrap-inventory-triag
- new ext\xmlwriter\Module (line 237)
- new ext\gd\Module (line 238)
- new ext\exif\Module (line 239)
- new ext\iconv\Module (line 240)
- new ext\gettext\Module (line 241)
- new ext\mbstring\Module (line 242)
- new ext\filter\Module (line 243)
- new ext\calendar\Module (line 244)
- new ext\ldap\Module (line 245)
- new ext\session\Module (line 246)
- new ext\bcmath\Module (line 247)
- new ext\gmp\Module (line 248)
- new ext\stats\Module (line 249)
- new ext\opcache\Module (line 250)
- new ext\openssl\Module (line 251)
- new ext\curl\Module (line 252)
- new ext\hash\Module (line 253)
- new ext\posix\Module (line 254)
- new ext\inotify\Module (line 255)
- new ext\pcntl\Module (line 256)
- new ext\sockets\Module (line 257)
- new ext\ftp\Module (line 258)
- new ext\ctype\Module (line 259)
- new ext\tokenizer\Module (line 260)
- new ext\random\Module (line 261)
- new ext\igbinary\Module (line 262)
- new ext\msgpack\Module (line 263)
- new ext\zstd\Module (line 264)
- new ext\lzf\Module (line 265)
- new ext\bz2\Module (line 266)
- new ext\brotli\Module (line 267)
- new ext\sodium\Module (line 268)
- new ext\sqlite3\Module (line 269)
- new ext\phar\Module (line 270)
- new ext\uri\Module (line 271)
- new ext\uuid\Module (line 272)
- new ext\uploadprogress\Module (line 273)
- new ext\sysvshm\Module (line 274)
- new ext\sysvsem\Module (line 275)
- new ext\standard\Module (line 276)
- new JIT (line 352)
- new JITContext (line 366)
- new SealedClassPreprocessor (line 431)
- new StaticClassPreprocessor (line 434)
- new SourcePreprocessor\PropertyHooks (line 437)
- new State (line 577)
- new ReflectionProperty (line 604)
- new ReflectionProperty (line 607)
- new LintCompiler (line 1018)
- new Variable (line 1148)
- new ext\fileinfo\Module (line 240)
- new ext\iconv\Module (line 241)
- new ext\gettext\Module (line 242)
- new ext\mbstring\Module (line 243)
- new ext\filter\Module (line 244)
- new ext\calendar\Module (line 245)
- new ext\ldap\Module (line 246)
- new ext\session\Module (line 247)
- new ext\bcmath\Module (line 248)
- new ext\gmp\Module (line 249)
- new ext\stats\Module (line 250)
- new ext\opcache\Module (line 251)
- new ext\openssl\Module (line 252)
- new ext\curl\Module (line 253)
- new ext\hash\Module (line 254)
- new ext\posix\Module (line 255)
- new ext\inotify\Module (line 256)
- new ext\pcntl\Module (line 257)
- new ext\sockets\Module (line 258)
- new ext\ftp\Module (line 259)
- new ext\ctype\Module (line 260)
- new ext\tokenizer\Module (line 261)
- new ext\random\Module (line 262)
- new ext\igbinary\Module (line 263)
- new ext\msgpack\Module (line 264)
- new ext\zstd\Module (line 265)
- new ext\lzf\Module (line 266)
- new ext\bz2\Module (line 267)
- new ext\brotli\Module (line 268)
- new ext\sodium\Module (line 269)
- new ext\sqlite3\Module (line 270)
- new ext\phar\Module (line 271)
- new ext\uri\Module (line 272)
- new ext\uuid\Module (line 273)
- new ext\uploadprogress\Module (line 274)
- new ext\sysvshm\Module (line 275)
- new ext\sysvsem\Module (line 276)
- new ext\standard\Module (line 277)
- new JIT (line 353)
- new JITContext (line 367)
- new SealedClassPreprocessor (line 432)
- new StaticClassPreprocessor (line 435)
- new SourcePreprocessor\PropertyHooks (line 438)
- new State (line 578)
- new ReflectionProperty (line 605)
- new ReflectionProperty (line 608)
- new LintCompiler (line 1019)
- new Variable (line 1149)
- 53 class method(s)

### `lib/RuntimeStrictness.php`
Expand Down
9 changes: 7 additions & 2 deletions docs/capabilities.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ Auto-generated by `script/capability-matrix.php`. Do not edit by hand.
| `count` | yes | yes | yes | standard | JIT PHPT; AOT PHPT |
| `count_chars` | yes | yes | yes | standard | JIT PHPT; AOT PHPT |
| `crc32` | yes | yes | yes | standard | JIT PHPT; AOT PHPT |
| `crc32c` | no | no | no | standard | impl present; gated (8.4.0 ref, since 8.3.0); AOT PHPT |
| `crc32c` | no | no | no | standard | impl present; gated (8.4.0 ref, since 8.3.0); JIT PHPT; AOT PHPT |
| `crypt` | yes | yes | yes | standard | JIT PHPT; AOT PHPT |
| `ctype_alnum` | yes | yes | yes | ctype | JIT PHPT; AOT PHPT |
| `ctype_alpha` | yes | yes | yes | ctype | JIT PHPT; AOT PHPT |
Expand Down Expand Up @@ -246,6 +246,11 @@ Auto-generated by `script/capability-matrix.php`. Do not edit by hand.
| `filter_list` | yes | yes | yes | filter | JIT PHPT |
| `filter_var` | yes | yes | yes | filter | JIT PHPT; AOT PHPT |
| `filter_var_array` | yes | yes | yes | filter | AOT PHPT |
| `finfo_buffer` | yes | no | no | fileinfo | ext/fileinfo VM sniff via VmMime (JIT deferred) (#3366); not implemented for JIT in this compiler build (issue #3366) |
| `finfo_close` | yes | no | no | fileinfo | ext/fileinfo VM sniff via VmMime (JIT deferred) (#3366); not implemented for JIT in this compiler build (issue #3366) |
| `finfo_file` | yes | no | no | fileinfo | ext/fileinfo VM sniff via VmMime (JIT deferred) (#3366); not implemented for JIT in this compiler build (issue #3366) |
| `finfo_open` | yes | no | no | fileinfo | ext/fileinfo VM sniff via VmMime (JIT deferred) (#3366); not implemented for JIT in this compiler build (issue #3366) |
| `finfo_set_flags` | yes | no | no | fileinfo | ext/fileinfo VM sniff via VmMime (JIT deferred) (#3366); not implemented for JIT in this compiler build (issue #3366) |
| `floatval` | yes | yes | yes | standard | JIT PHPT; AOT PHPT |
| `flock` | yes | yes | yes | standard | JIT PHPT; AOT PHPT |
| `floor` | yes | yes | yes | standard | JIT PHPT; AOT PHPT |
Expand Down Expand Up @@ -485,7 +490,7 @@ Auto-generated by `script/capability-matrix.php`. Do not edit by hand.
| `lstat` | yes | yes | yes | standard | JIT PHPT |
| `ltrim` | yes | yes | yes | standard | JIT PHPT; AOT PHPT |
| `mail` | yes | yes | yes | standard | JIT PHPT |
| `max` | yes | yes | yes | standard | AOT PHPT |
| `max` | yes | yes | yes | standard | JIT PHPT; AOT PHPT |
| `mb_check_encoding` | yes | yes | yes | mbstring | JIT PHPT; AOT PHPT |
| `mb_chr` | yes | yes | yes | mbstring | |
| `mb_convert_case` | yes | yes | yes | mbstring | JIT PHPT; AOT PHPT |
Expand Down
10 changes: 8 additions & 2 deletions docs/pages/capability-comparison.html
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ <h1>PHP capability comparison</h1>
</article>
<article>
<div>Stdlib builtins</div>
<strong>939</strong> / 1011 full (VM+JIT+AOT)
<p style="margin:0.35rem 0 0;font-size:0.88rem;color:var(--text-muted)">47 partial · 25 gaps</p>
<strong>940</strong> / 1017 full (VM+JIT+AOT)
<p style="margin:0.35rem 0 0;font-size:0.88rem;color:var(--text-muted)">52 partial · 25 gaps</p>
</article>
<article>
<div>Legend</div>
Expand Down Expand Up @@ -425,6 +425,11 @@ <h2>Stdlib builtins</h2>
<tr data-support="full"><td><code>`filter_list`</code></td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td>—</td></tr>
<tr data-support="full"><td><code>`filter_var`</code></td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td>—</td></tr>
<tr data-support="full"><td><code>`filter_var_array`</code></td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td>—</td></tr>
<tr data-support="partial"><td><code>`finfo_buffer`</code></td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-no">no</td><td class="status-no">no</td><td>—</td></tr>
<tr data-support="partial"><td><code>`finfo_close`</code></td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-no">no</td><td class="status-no">no</td><td>—</td></tr>
<tr data-support="partial"><td><code>`finfo_file`</code></td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-no">no</td><td class="status-no">no</td><td>—</td></tr>
<tr data-support="partial"><td><code>`finfo_open`</code></td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-no">no</td><td class="status-no">no</td><td>—</td></tr>
<tr data-support="partial"><td><code>`finfo_set_flags`</code></td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-no">no</td><td class="status-no">no</td><td>—</td></tr>
<tr data-support="full"><td><code>`floatval`</code></td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td>—</td></tr>
<tr data-support="full"><td><code>`flock`</code></td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td>—</td></tr>
<tr data-support="full"><td><code>`floor`</code></td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td>—</td></tr>
Expand Down Expand Up @@ -831,6 +836,7 @@ <h2>Stdlib builtins</h2>
<tr data-support="full"><td><code>`phpc_gc_notify_object_freed_native`</code></td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td>—</td></tr>
<tr data-support="full"><td><code>`phpc_match_unhandled_operand_is_object`</code></td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td>—</td></tr>
<tr data-support="full"><td><code>`phpc_mm_free_native`</code></td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td>—</td></tr>
<tr data-support="full"><td><code>`phpc_native_environ_mirror_into_ht`</code></td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td>—</td></tr>
<tr data-support="full"><td><code>`phpc_native_ht_alloc`</code></td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td>—</td></tr>
<tr data-support="full"><td><code>`phpc_native_ht_set_hashtable_at`</code></td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td>—</td></tr>
<tr data-support="full"><td><code>`phpc_native_ht_set_string_at`</code></td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td class="status-yes">yes</td><td>—</td></tr>
Expand Down
Loading
Loading