Skip to content

Tags: e7dal/hhvm

Tags

nightly-2020.07.17

Toggle nightly-2020.07.17's commit message
Remove hoistability promotion from HHBBC's pseudomain analysis

Reviewed By: jano

Differential Revision: D22579989

fbshipit-source-id: 8f124b8ce25f92e9b14aaa02c2553636abb3e45e

nightly-2020.07.16

Toggle nightly-2020.07.16's commit message
unbreak repomode + symlinks + namespaces (facebook#8728)

Summary:
It looks like the fix from facebook@45adf85 (D22168683 (facebook@45adf85)) doesn't work if namespaces are involved :(

It creates an invalid hhas string (because of unescaped backslashes in the namespaced function name), which results in the file being dropped (based on the exact HHVM flags, this either causes it to fail or it just ignores the dropped files).

Pull Request resolved: facebook#8728

Test Plan:
Unfortunately, the included test doesn't actually test it (apparently the way test/run.php invokes HHVM results in the broken files simply being dropped, but it still returns 0), but it can be used to test manually:

```
# build repo (same as test/run.php)
mkdir -p /tmp/hphp-test-7ZwCAk/hphp/test/slow/
./hphp/hhvm/hhvm --hphp -vUseHHBBC=true --config /home/ubuntu/hhvm/hphp/test/slow/hphp_config.ini  -vRuntime.ResourceLimit.CoreFileSize=0 -vRuntime.Eval.EnableIntrinsicsExtension=true -vRuntime.Eval.EnableArgsInBacktraces=true -vRuntime.Eval.HackCompilerExtractPath='/home/ubuntu/hhvm/hphp/hhvm/hackc_%{schema}' -vParserThreadCount=1 --nofork=1 -thhbc -l1 -k1 -o "/tmp/hphp-test-7ZwCAk/hphp/test/slow/entrypoint-symlink-ns.php.repo" --program hhvm.hhbc "hphp/test/slow/entrypoint-symlink-ns.php" -vRuntime.Repo.Local.Mode=rw -vRuntime.Repo.Local.Path=/home/ubuntu/hhvm/hphp/hhvm/verify.hhbc   --ffile=hphp/test/slow/entrypoint-symlink-ns2.inc --ffile=hphp/test/slow/entrypoint-symlink-ns3.inc

# run entrypoint-symlink-ns.php from the repo (same as test/run.php)
./hphp/hhvm/hhvm -c /home/ubuntu/hhvm/hphp/test/slow/config.ini -vEval.EnableArgsInBacktraces=false -vEval.EnableIntrinsicsExtension=true -vEval.HHIRInliningIgnoreHints=false -vEval.HHIRAlwaysInterpIgnoreHint=false  -vEval.Jit=true  -vEval.ProfileHWEnable=false -vEval.HackCompilerExtractPath='/home/ubuntu/hhvm/hphp/hhvm/hackc_%{schema}' -vEval.EmbeddedDataExtractPath='/home/ubuntu/hhvm/hphp/hhvm/hhvm_%{type}_%{buildid}'  -vAutoload.DBPath='/tmp/hphp-test-7ZwCAk/hphp/test/slow/entrypoint-symlink-ns.php.autoloadDB.0' -vResourceLimit.CoreFileSize=0    --file 'hphp/test/slow/entrypoint-symlink-ns.php'  -vRepo.Authoritative=true -vRepo.Commit=0 -vRepo.Central.Path="/tmp/hphp-test-7ZwCAk/hphp/test/slow/entrypoint-symlink-ns.php.repo/hhvm.hhbc"

# run entrypoint-symlink-ns2.inc from the repo
# this is what currently fails, but test/run.php doesn't test this :(
./hphp/hhvm/hhvm -c /home/ubuntu/hhvm/hphp/test/slow/config.ini -vEval.EnableArgsInBacktraces=false -vEval.EnableIntrinsicsExtension=true -vEval.HHIRInliningIgnoreHints=false -vEval.HHIRAlwaysInterpIgnoreHint=false  -vEval.Jit=true  -vEval.ProfileHWEnable=false -vEval.HackCompilerExtractPath='/home/ubuntu/hhvm/hphp/hhvm/hackc_%{schema}' -vEval.EmbeddedDataExtractPath='/home/ubuntu/hhvm/hphp/hhvm/hhvm_%{type}_%{buildid}'  -vAutoload.DBPath='/tmp/hphp-test-7ZwCAk/hphp/test/slow/entrypoint-symlink-ns.php.autoloadDB.0' -vResourceLimit.CoreFileSize=0    --file 'hphp/test/slow/entrypoint-symlink-ns2.inc'  -vRepo.Authoritative=true -vRepo.Commit=0 -vRepo.Central.Path="/tmp/hphp-test-7ZwCAk/hphp/test/slow/entrypoint-symlink-ns.php.repo/hhvm.hhbc"
```

Reviewed By: jano

Differential Revision: D22560262

Pulled By: jjergus

fbshipit-source-id: 2354f2e9f67eca5d3aad514d32142cfe2bfe83e8

HHVM-4.66.1

Toggle HHVM-4.66.1's commit message
Releasing 4.66.1

HHVM-4.65.1

Toggle HHVM-4.65.1's commit message
Releasing 4.65.1

HHVM-4.64.1

Toggle HHVM-4.64.1's commit message
Releasing 4.64.1

nightly-2020.07.15

Toggle nightly-2020.07.15's commit message
Remove pseudomain for fatal units

Summary:
This diff is a step towards killing pseudomains.
When there's a parse error, we emit `String err` + `Fatal Parse` bytecodes to the pseudomain of the unit. D22443764 (facebook@1505934) started emitting a `.fatal` directive. This diff takes advantage of that and introduces `UnitFatal*` in addition to the existing `Unit*` in order not inflate the side of `Unit*` for all units and during merge we emit the parse/runtime fatal.

Reviewed By: ricklavoie

Differential Revision: D22465038

fbshipit-source-id: f4bbd936f1cfc93a84021f75a4c13996547fbfb0

nightly-2020.07.14

Toggle nightly-2020.07.14's commit message
Throw when pseudomain has top level code

Summary: We want to kill pseudomains. Lets start that by throwing when there's top level code in pseudomains.

Reviewed By: paulbiss

Differential Revision: D22459221

fbshipit-source-id: 511db048b2d6df8d72d34194d82c367b671599b7

HHVM-4.66.0

Toggle HHVM-4.66.0's commit message
Releasing 4.66.0

nightly-2020.07.13

Toggle nightly-2020.07.13's commit message
Remove pseudomain in new dv_array_hack_arr tests

Reviewed By: ricklavoie

Differential Revision: D22498026

fbshipit-source-id: 0b9d5858d910d77ff27a116182cc40c6c9bb0b7e

nightly-2020.07.12

Toggle nightly-2020.07.12's commit message
Throw on array-like-to-string conversions

Summary:
Just a rebased version of D19726729.

While we're at it, we also throw on clsmeth-to-string conversions, because clsmeth is a migration target from arrays, so it should behave the same way.

Reviewed By: dneiter

Differential Revision: D22441441

fbshipit-source-id: d57dc82edc124246e97e9c4209d6227b556a62f8