## Category `stdlib` · AOT/JIT leftover of #20240 (alias of `openssl_pkey_get_public`) ## Problem VM implements `openssl_get_publickey()` (alias of `openssl_pkey_get_public`) with catchable TypeError/ArgumentCountError, but JIT/AOT still throws: `openssl_get_publickey() is not implemented for JIT in this compiler build (issue #20240)` Peer TypeError/argc gates already landed for `openssl_pkey_get_public` (#33499 / #33502). Happy-path key objects remain follow-up (#6295). | Repro | VM | AOT | |-------|----|-----| | `openssl_get_publickey(null)` | TypeError | LogicException at compile | | `openssl_get_publickey()` | ArgumentCountError | LogicException at compile | AOT must match **VM** catchable errors, not the LogicException. ## php-src reference - [php/php-src `ext/openssl/openssl.c`](https://github.com/php/php-src/blob/master/ext/openssl/openssl.c) — `PHP_FUNCTION(openssl_get_publickey)` / alias of `openssl_pkey_get_public` - [php/php-src `ext/openssl/openssl.stub.php`](https://github.com/php/php-src/blob/master/ext/openssl/openssl.stub.php) ## PHP implementation target - `ext/openssl/openssl_get_publickey.php` — wire `call()` argc/TypeError via `ExceptionBridge` (peer #33499); string/array/key/cert happy-path remains LogicException follow-up - No new `runtime/*.c` ## Repro ```bash ./script/docker-exec.sh -- bash -lc 'php bin/compile.php -o /tmp/x test/repro/issue_XXXX_openssl_get_publickey_aot.php' ``` ## Done when - [ ] AOT compile of the TypeError/argc repro succeeds (no LogicException) - [ ] VM and AOT match on that repro (`null-type` / `argc`) - [ ] No new `lib/AOT/runtime/*.c` ## Parent - #20240 · peer #33499
Activity
PurHur commentedon Aug 21, 2026
claim: advanced-stdlib-ext — implementing TypeError/argc AOT bake this run (peer #33499/#33502; alias of openssl_pkey_get_public).
PurHur commentedon Aug 21, 2026
claim: php-runtime-migration — implementing AOT TypeError/argc for openssl_get_publickey (peer #33499/#33502; #32122/#31968 closed; aot-smoke 8/8; #33501 claimed elsewhere)
Stdlib: bake openssl_get_publickey() TypeError/argc for JIT/AOT (#33503…