Skip to content

Tags: fvignals/hhvm

Tags

nightly-2022.02.04

Toggle nightly-2022.02.04's commit message
Box Pos

Summary: Revert the unboxing of Pos (landed in {D33893477 (facebook@c57b096)}), since it seems to save memory somehow?

Reviewed By: edwinsmith

Differential Revision: D33988078

fbshipit-source-id: 612cff33b4568551d7ebcd2748ef3214f5d2d7fc

nightly-2022.02.03

Toggle nightly-2022.02.03's commit message
fix lint in parser/{api,bench}

Summary:
Following up from D33847608 (facebook@efea2c4), I decided to see what other lints
would show up in the parser. The vast majority were fixed automatically.

Highlights:
* many unnecessary `&`. if you have `foo: &Foo` you don't need `&foo` when passing it along to another function taking `&Foo`.
* into_iter() on a slice `&[T]` is equivalent to iter(), which is idiomatic.
* expect(&format(...)) evaluates the format expression unconditionally. That's expensive! unwrap_or_else(...) defers it until the error happens.

Reviewed By: shayne-fletcher

Differential Revision: D33946877

fbshipit-source-id: c3301a377f56e59ef41a3dd876a6094869590023

nightly-2022.02.02

Toggle nightly-2022.02.02's commit message
Improve error messages for bad method visibility (facebook#8961)

Summary:
Closes facebook#8959

The biggest trouble I ran into working on this was getting my dev environment configured. I built HHVM in a docker container using docker-compose and mutagen to handle file-syncing with the container. This mostly worked, except for the files generated by `review.sh`: I had to manually copy them out of the container for some reason. Not sure why they didn't sync to the host automatically.

Just curious - what setup do people at FB use for Hack development? Do y'all build locally? And if you use docker or some other remote setup, do you sync VSCode (or some other IDE?) to an LSP running there?

I should probably take these questions over to Slack.

Pull Request resolved: facebook#8961

Reviewed By: shayne-fletcher

Differential Revision: D33857025

Pulled By: Wilfred

fbshipit-source-id: a8d0fc932ff2df719d9b9103b77aa2150419248b

HHVM-4.147.0

Toggle HHVM-4.147.0's commit message
Releasing 4.147.0

nightly-2022.02.01

Toggle nightly-2022.02.01's commit message
Encode ty as bincode+LZ4 in HSTC --type and typing/serde bench

Summary:
Bincode is typically twice as fast as JSON, so use that instead.
LZ4 compression has mimnimal impact on total CPU and doesn't hurt
but sometimes helps in the grand scheme of things.

Since the encoding is no longer textual (even without LZ4 compression),n
e.g., `bincode` output is arbitrary bytes, and may not be valid UTF-8,
change the API to work with `Vec<u8>`/`&[u8] instead of `String`/`&str`.

A notable complication the need to introduce so-called "frames" of data,
since each chunk should be independently decoded.  To keep the same
line-based delimitation of types, backslash-escape `\n` (and consequently `\`),
which is then easily readable in both Rust and C/C++.

Finally, avoid passing string allocated in Rust FFI back to OCaml
by shifting the printing logic from OCaml to Rust.

Reviewed By: shayne-fletcher

Differential Revision: D33787239

fbshipit-source-id: 2ff4bd455dfa011aa3e46ca746ea3b3f4b8a7edc

nightly-2022.01.31

Toggle nightly-2022.01.31's commit message
Fix macOS build error in ext_curl

Summary:
MacOS comes with a prehistoric version of OpenSSL, which does not contains
SSL_CTX_set1_cert_store(). This function is used by the ext_curl cert cache
logic. Disable this logic if the OpenSSL is too old.

Reviewed By: ricklavoie

Differential Revision: D33881845

fbshipit-source-id: ae09229fe016fcc55b0a020c4d9509f054854052

nightly-2022.01.30

Toggle nightly-2022.01.30's commit message
Migrate hhvm symlink rules

Summary:
* Converted to buck_genrule - all command args are explicit
* rule output is a directory, and shell command must mkdir
* need `realpath` on input hhvm path, for buck2
* force local execution to avoid shipping the hhvm binary in/out of RE just to make links.

Reviewed By: ricklavoie

Differential Revision: D33622405

fbshipit-source-id: eee1c920ff83a864dea58a7ff13f300489c2674a

nightly-2022.01.29

Toggle nightly-2022.01.29's commit message
Enable case sensitive member checks by default

Reviewed By: hgoldstein

Differential Revision: D33592875

fbshipit-source-id: bd96b84f18861c503ad7ed17416000148316b1f4

nightly-2022.01.28

Toggle nightly-2022.01.28's commit message
Set up include path for generated rust/cxx.h (facebook#8966)

Summary:
D33715471 did not compile with CMake because the generated `rust/cxx.h` is not configured in include path. This diff add the generated cxx bridge files, including the missing `rust/cxx.h`, to the include path.

Pull Request resolved: facebook#8966

Test Plan:
On a Git work tree of HHVM, cherry pick facebook#8964, then:
```
cmake -DMYSQL_UNIX_SOCK_ADDR=/var/run/mysqld/mysqld.sock .
make hhvm_types_ffi
```

Reviewed By: kavoor

Differential Revision: D33832076

Pulled By: Atry

fbshipit-source-id: c1a115b55dbd808b8d8d4a85a641be95fdd75c02

nightly-2022.01.27

Toggle nightly-2022.01.27's commit message
Remove array_cast option from tco_migration_flags list

Summary: I don't believe the `array_cast` option in the `tco_migration_flags` list is being used to control anything in Hack anymore. This diff simply removes it from the list of options. I am leaving the empty list in case people want to use it in the future. I'll put up a diff if people want to commandeer to remove the `tco_migration_flags` list entirely.

Reviewed By: jamesjwu

Differential Revision: D33673571

fbshipit-source-id: 4c1600024b5cc25caf96ecf931ab7d30bd47c3a9