Tags: fvignals/hhvm
Tags
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
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
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
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
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
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
Enable case sensitive member checks by default Reviewed By: hgoldstein Differential Revision: D33592875 fbshipit-source-id: bd96b84f18861c503ad7ed17416000148316b1f4
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
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
PreviousNext