Skip to content

Tags: gmx/hhvm

Tags

nightly-2020.03.12

Toggle nightly-2020.03.12's commit message
fix remaining pos mismatch

Summary:
- refreshed `aast_env` to match Ocaml
- some typos

Reviewed By: losvald

Differential Revision: D20403762

fbshipit-source-id: 5a6dd0af0f57fa4ded4d9697ab487c8c3a916b31

nightly-2020.03.11

Toggle nightly-2020.03.11's commit message
Kill source mapping option across stack

Summary:
This option is explicitly set to true at every entry point to HackC,
as well as in tests, but it's true by default in HHVM.
It's also an outlier because it has 2 aliases when used as CLI argument:
- hack.compiler.sourcemapping
- eval.disassemblersourcemapping

neither of which matches its JSON key: eval.disassembler_source_mapping.

All of the abovee adds significant complexity, so kill it altogether.

Reviewed By: shiqicao, alexeyt

Differential Revision: D20295585

fbshipit-source-id: bed0040227143b6df122e2f11545bde909ace70e

nightly-2020.03.10

Toggle nightly-2020.03.10's commit message
update comment in ClientIdeIncremental

Summary: Discussed with arxanas. The caller is the one who will update naming and reverse naming tables.

Reviewed By: arxanas

Differential Revision: D20349887

fbshipit-source-id: d8ee41aa1c292b3c4a6813fd1df394a72eb7f2dc

HHVM-4.48.0

Toggle HHVM-4.48.0's commit message

Unverified

The committer email address is not verified.
Releasing 4.48.0

nightly-2020.03.09

Toggle nightly-2020.03.09's commit message
Add out-of-date header to all .md files

Summary:
This adds a header to all the .md files which says:

NOTICE: This spec is currently very out of date and does not reflect the current version of Hack.

Reviewed By: fredemmott, JoelMarcey

Differential Revision: D20256978

fbshipit-source-id: 669f8c3c7012cc142e93bebc816ff60aca31d5a2

nightly-2020.03.08

Toggle nightly-2020.03.08's commit message
Fix multi-FramePtr phi-jump issue

Summary:
In optimized translations, we'll generate instructions like "Jmp t635:FramePtr, t645:FramePtr -> B535<Unlikely>" where we phi multiple FramePtrs. In particular, we'll do so when we guard multiple values while inlining multiple levels deep, because we share a single ReqBindJmp merge point for all the guards.

This instruction is kind of weird, since the phijmp's dst defines the rvmfp() physical register twice. vasm-graph-color makes an exception for it. However, we'll crash if we later eliminate all but one of the guards, because we'll turn the phijmp into a copyargs and assert that it defines rvmfp() twice. We just have to fix the assertion.

In the new unit test, we hit this edge case by inlining two frames and then guarding the result of "mixed_value". The more likely tracelet guards to InitNull; the less likely one guards to Arr and then to Arr=PackedKind, but we later eliminate the Arr guard using the RepoAuthType. (The "darray" option is needed so that the RepoAuthType is ?Arr instead of ?Varr.)

Reviewed By: ricklavoie

Differential Revision: D20322192

fbshipit-source-id: a70ebe5130a2d8ae0a6b9ab7fe333f9b242ab44e

nightly-2020.03.07

Toggle nightly-2020.03.07's commit message
Delete `Parser_options_provider`

Summary: There's only a handful of places that use `Parser_options_provider.get ()`. Now that `popt` is inside the `Provider_context.t` which is threaded around mostly everywhere, we don't need to set the global parser options

Reviewed By: 2BitSalute

Differential Revision: D19870892

fbshipit-source-id: dff3dbc12379cff58049241156b51a10288609ca

nightly-2020.03.06

Toggle nightly-2020.03.06's commit message
Port generator

Summary: As titled

Reviewed By: shiqicao

Differential Revision: D20295156

fbshipit-source-id: 4107b31088fd003862df1b636801ecf62372f56b

nightly-2020.03.05

Toggle nightly-2020.03.05's commit message
Get rid of unnecessary Stmt wrappers around Block in emit_statement

Summary: When emitting the body block in for, foreach, while, and do loops, the OCaml version wraps the block into a Stmt(pos, block) and calls a helper on that Stmt. This wrapping step, when ported to Rust, requires cloning of the block, which is super expensive. The helper doesn't need the pos parameter, but only computes instructions from the block, so get rid of the wrapper to avoid cloning.

Differential Revision: D20236751

fbshipit-source-id: c95b0f9ac09b278717114fea700f2ed734dbe812

nightly-2020.03.04

Toggle nightly-2020.03.04's commit message
Avoid some opens to simplify Rustification

Summary:
To simplify migration to Rust, use fully explicit paths for ADTs,
without relying on shadowing after "import everything" open.

Reviewed By: vsiles

Differential Revision: D18145807

fbshipit-source-id: dc4c00b1c450057f0232f67548645ab812496609