Last 12 weeks · 2152 commits
4 of 6 standards met
Summary: Make the exported OSS HHVM build reproducible on native x64 and arm64. Add a pinned public CMake build path for HHVM, HHBBC, and tc-print. Pin release-train, Rust, fb-mysql, and other external dependency inputs, with host-side download caching for restricted CI environments. Assemble the writable public source overlays required by bundled dependencies and support native GCC 15 and Clang 21 builds. Fix compiler, linker, dependency, and architecture portability issues, including XED support for tc-print and disabling ImageMagick OpenMP to match the internal build and avoid shutdown crashes. Preserve native quick and slow test coverage on both architectures. Reviewed By: binliu19 Differential Revision: D116318957
The sodium extension registers , and , but the corresponding , and constants are missing, even though they are documented by PHP (https://www.php.net/manual/en/sodium.constants.php) and exported by libsodium. Changes: Register the three constants in , exporting the values from libsodium's / / macros (present since libsodium 0.4.0) so they are not hardcoded, matching how the existing KEYBYTES constants are registered. Declare the constants in the stub. Add asserting the exported values (32, 16, 64). Closes #8608.
Summary This PR adds comprehensive unit test coverage for the Hack Standard Library ( and ) and updates the Hacker's Guide JIT documentation. Changes 1. Dict Extended Tests: Added testing , , , , and . 2. Keyset Extended Tests: Added testing , , , , and . 3. JIT Documentation: Updated documenting function prologue IR generation, stack boundary alignment (), and reified generics cell tracking.
D25131 added support for optionally linking HHVM via ld.gold, alongside a hardcoded text section ordering file. There's no apparent mechanism to generate this file and it doesn't seem to have been meaningfully updated in recent times. A quick glance inside reveals many references to nonexistent symbols e.g. LowPtrImpl. The few recent diffs that touched it seem to have done so unintentionally via find-and-replace. Given that the gold linker is officially deprecated by upstream[1] and is being dropped by distros as a result[2], let's remove this stale logic. [1] https://lists.gnu.org/archive/html/info-gnu/2025-02/msg00001.html [2] https://fedoraproject.org/wiki/Changes/DeprecateGoldLinker
Repository: facebook/hhvm. Description: A virtual machine for executing programs written in Hack. Stars: 18654, Forks: 3069. Primary language: C++. Languages: C++ (45.2%), Hack (29.2%), OCaml (11.9%), Rust (9.1%), Python (1.5%). Homepage: https://hhvm.com Topics: hack, hacklang, hhvm, php. Latest release: HHVM-3.15.0 (9y ago). Open PRs: 100, open issues: 444. Last activity: 1h ago. Community health: 87%. Top contributors: edwinsmith, jdelong, jano, oulgen, ljw1004, yfeldblum, ricklavoie, vassilmladenov, fredemmott, echistyakov and others.