Skip to content

Tags: jano/hhvm

Tags

nightly-2021.07.06

Toggle nightly-2021.07.06's commit message
Remove __toString from Stringish

Summary:
Now that we have StringishObject which has `__toString`, `__toString` on
Stringish serves no purpose other than to be dangerous to invoke. Remove it.

Reviewed By: mofarrell

Differential Revision: D29518793

fbshipit-source-id: d26f0ab6dcfe4f71bf379e7c326b92fd7aa29f5b

nightly-2021.07.05

Toggle nightly-2021.07.05's commit message
Kill make_varray and make_darray

Summary: delestar

Differential Revision: D29238148

fbshipit-source-id: 0565864a573bee2eee22bc92a60702372d77a4c9

nightly-2021.07.04

Toggle nightly-2021.07.04's commit message
add decl provider in extern-compiler

Reviewed By: shayne-fletcher

Differential Revision: D28705627

fbshipit-source-id: 6d684160be153812c6e4c2ec669540a9d185c9c1

nightly-2021.07.03

Toggle nightly-2021.07.03's commit message
add decl provider in extern-compiler

Reviewed By: shayne-fletcher

Differential Revision: D28705627

fbshipit-source-id: 6d684160be153812c6e4c2ec669540a9d185c9c1

nightly-2021.07.02

Toggle nightly-2021.07.02's commit message
Newly passing tests.

Summary:
Also ran "hphp/facebook/hacknative/utils/bin/update_tests.py"
to remove references to some deleted tests.

Reviewed By: aorenste

Differential Revision: D29526185

fbshipit-source-id: 7decbbd4563e445bb22935f20702e5636ca72ce2

nightly-2021.07.01

Toggle nightly-2021.07.01's commit message
Avoid sending empty file list to hulk

Summary: As titled

Reviewed By: bobrenjc93

Differential Revision: D29504099

fbshipit-source-id: 554cd827afb00f677aa6ff8d83cb4017953fe157

nightly-2021.06.30

Toggle nightly-2021.06.30's commit message
Update srcs for a store even for srcs that admitSingleVal()

Summary:
In store-elim, when moving stores between blocks, we first check if a store is *available* at a certain point; ie it has happened on all paths to this point, and there is no interference between those stores and this point. In this example, a store is available In to B113. When we try to sink the store to B113, we skip updating the sources with the dest of the phi of B1888 and B1967 because both of the stores have sources that admit the same single val. This is incorrect because we end up with temps that necessarily do not strictly dominate their uses.
```
-------------------------------Assertion Message--------------------------------
src 't1537:InitNull' in '(8804) StStk<IRSPOff -28> t1:StkPtr, t1537:InitNull' came from '(8317) t1537:InitNull = DefLabel', which is not a DefConst and is not defined at this use site
-------------------------------Assertion Failure--------------------------------
hphp/runtime/vm/jit/check.cpp:214: bool HPHP::jit::checkCfg(const HPHP::jit::IRUnit&): assertion `locally_defined || strictly_dominates' failed.
-------------------------------------IRUnit-------------------------------------
```
```
 B113: [profCount=118] (preds B1967 B1888)
    --- bc ReadStateLogger::genLogEvents(id 1711356672)3671, fp 0, spOff 7  [profTrans=1666077]
    AssertRATStk 0 ?Int
           t1538:InitNull = phi t1537:InitNull@B1967, t1532:InitNull@B1888 <--- the phi dest
           t1540:Dict=StructDict<"vpv_id","image_loading_state","mf_story_key","recent_vpvs_graphql_filter"> = phi t1191:Dict=StructDict<"vpv_id","image_loading_state","mf_story_key","recent_vpvs_graphql_filter">B1967, t1158:Dict=StructDict<"vpv_id","image_loading_state","mf_story_key","recent_vpvs_graphql_filter">B1888
    (8318) t1538:InitNull, t1540:Dict=StructDict<"vpv_id","image_loading_state","mf_story_key","recent_vpvs_graphql_filter"> = DefLabel
    (8319) t1539:InitNull = CheckType<InitNull> t1538:InitNull -> B114

...
 B114: [profCount=35] (preds B113)
    --- bc ReadStateLogger::genLogEvents(id 1711356672)3671, fp 0, spOff 8  [profTrans=1729573]
    AssertRATStk 0 ?Int
    (8321) t1541:Bottom = CheckType<Int> t1538:InitNull -> B2051<Unlikely>
...
 B2051<Unlikely>: [profCount=35]<Unlikely> (preds B114)
...

    --- bc ReadStateLogger::genLogEvents(id 1711356672)3656, fp 0, spOff 6  [profTrans=858136]
    FCallClsMethodD <SkipRepack> 2 1 "" - "" "FeedTrackingUtils" "FeedTrackingUtils" "getIntIfNotNull"
    (8804) StStk<IRSPOff -28> t1:StkPtr, t1537:InitNull <-- the store
```

{F628088917}

Reviewed By: mofarrell

Differential Revision: D29406550

fbshipit-source-id: 5dfed79e2752cbbcfffc9776e5be0dbade45ef63

nightly-2021.06.29

Toggle nightly-2021.06.29's commit message
Skipping built-in functions for now.

Summary:
In D28114085, losvald introduced few more HH built-in functions, which broke the cross verification testing.

We are bypassing these built-in functions for now. Will come back to handle these functions later.

Reviewed By: jamesjwu

Differential Revision: D29445957

fbshipit-source-id: 9e74c37ebb8814fea92a0e7f04d9792a12ae68d0

HHVM-4.116.0

Toggle HHVM-4.116.0's commit message

Verified

This commit was signed with the committer’s verified signature. The key has expired.
jjergus Ján
Releasing 4.116.0

nightly-2021.06.28

Toggle nightly-2021.06.28's commit message
Cache the folly::dynamic used to compute RepoOptions

Summary:
When hhvm calls into hackc to compile bytecode we pass a JSON blob for the RepoOptions associated with the request. For some reason JSON parsing in rust is horrendously slow, and so an LRU cache was added (as these options seldom change) to avoid completely wrecking frontend performance. Unfortunately the JSON blob is constructed from a folly::dynamic which is built on the fly for each new parse, and the hash map backing folly::dynamic has non-deterministic ordering in debug builds (but the order does not change once its constructed).

So while parse time was fixed by caching in our prod builds debug builds continued to suffer. This diff caches the folly::dynamic when the (already cached) RepoOptions are constructed, thus allowing us to hit in the cache.

Reviewed By: mofarrell

Differential Revision: D29410266

fbshipit-source-id: 6fdf230aa0a4ed6e3dd148380f5c58e08d21e915