hhvm
hhvm copied to clipboard
A virtual machine for executing programs written in Hack.
Mostly inherited from PHP5, for example: - can't put protected methods in interfaces - can't do `instanceof MyTrait` There are also restrictions we've added, eg interfaces can't require implements (#7353)[...
Discovered an issue in HHVM's reimplementation of SplDoublyLinkedList. It appears because it relies on SplDoublyLinkedNode's, a deep clone is required to prevent the clone from being mutated post creation. In...
### HHVM Version ``` $ hhvm --version HipHop VM 3.16.0-dev (rel) ``` ### Standalone code, or other way to reproduce the problem For the moment, private parameters and methods can...
PHP 7.1.0 updated `list` to allow you to specify the keys you want to destructure. See https://wiki.php.net/rfc/list_keys for the RFC 3v4l: https://3v4l.org/rXOGC ### HHVM Version 3.16.0-dev ### Standalone code, or...
eg shortcut for this pattern: ``` static $called = false; invariant($called === false, __FUNCTION__.' should not be called twice'); $called = true; ```
When we statically know the regex string passed to PCRE we can avoid a cache lookup on each call by burning the handle for the compiled regex into the TC.
Revert of https://github.com/facebook/hhvm/commit/ec1031e25c189a12e0e89eb151c796da0b8fcdb2 ? Potentially more useful for third-party code than FB - eg: - vendor/foo/ uses a new user attribute from 3.7 which doesn't have runtime effects - however,...
Typechecker requires 'public async function', however the runtime allows it either way.
This seems weird: ``` Hack
Some GCC toolchains are being built with PIE defaulted to on. PIE breaks the ability to use sbrk() to reserve low memory. This patch ensures that PIE is off regardless...