Skip to content

php-in-php: drop Context ensureFullStandaloneBodies always-on TokenGetAll/Highlight/Hebrev/Hebrevc + SuperglobalNameRuntime #35035

Description

@PurHur

Category

php-in-php · runtime-shrink · Pillar Trust (#32122 .1 mint class)

Problem

Context::ensureFullStandaloneBodies still eagerly calls:

  1. TokenGetAll / Highlight / Hebrev / Hebrevc ensureStandaloneBodies — each method is already a no-op (helper LLVM compiles on first lowering). Dead calls add noise and invite re-adding eager NestedJIT.
  2. SuperglobalNameRuntime::ensureLinked — NestedJIT of is_superglobal_name during every full standalone init. Call sites already StringSuperglobalName::ensureLinked before lookup (peer ensureMinimal drop php-in-php: drop Context ensureMinimalUserStandaloneBodies always-on SuperglobalNameRuntime — lazy at JitSuperglobalName call sites #34812 / #33235). Leftover Context NestedJIT vs Runtime ABI drift mints is_superglobal_name.1 (Fix: AOT link fails for EVERY binary — duplicate memset declaration #31894 / Release v1.1.0: fix cold-build-check compile_failed on hello world (LLVM Module.php line 180; re-#24302) #32122).

php-src reference

PHP implementation target

  • lib/JIT/Context.php — remove the four no-op ensureStandaloneBodies calls and SuperglobalNameRuntime::ensureLinked from ensureFullStandaloneBodies
  • Keep call-site StringSuperglobalName::ensureLinked / TokenGetAll::helperFunction / JitHebrev / JitHighlight
  • Unit shrink test peer ContextMinimalStandaloneLazySuperglobalNameRuntimeShrinkTest
  • No new runtime/*.c

Done when

  • ensureFullStandaloneBodies has no TokenGetAll/Highlight/Hebrev/Hebrevc/SuperglobalName ensure*
  • ./script/aot-smoke.sh stays 8/8
  • Targeted phpunit shrink + hello-world AOT green
  • No restamp / gate weakening

Parent

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:compilerCompiler / CFG / JITenhancementNew feature or requestimplementation-readySpec complete: repro, php-src ref, done-when — safe for workers to claimphase-0:FoundationPhase 0 – foundation & DevEx

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions