Introduce make_tv_of_type helper
commite71314abb5173e77c01131427d90bd21ac0d9ecb
authorShaunak Kishore <kshaunak@fb.com>
Thu, 17 Dec 2020 19:29:33 +0000 (17 11:29 -0800)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Thu, 17 Dec 2020 19:33:13 +0000 (17 11:33 -0800)
tree8ef7d82e450dd4932447a0f59691241e2493fe47
parent6061999778c513d2433c3282902ab1befc4f60b2
Introduce make_tv_of_type helper

Summary:
colavitam identified a GCC bug that hurts the performance of our code in a big way. Basically, any unitialized struct fields can cause a ludicrous amount of spilling.

This diff simply replaces all of the offending constructor calls with a wrapper, so that when we introduce a workaround, we only have to fix one site.

Reviewed By: colavitam

Differential Revision: D25608210

fbshipit-source-id: b6042f975c7ad4c2c4ed9815d6835ce5f080f6e6
hphp/runtime/base/bespoke/monotype-dict.cpp
hphp/runtime/base/bespoke/monotype-vec.cpp
hphp/runtime/base/tv-layout.h
hphp/runtime/base/tv-val-inl.h
hphp/runtime/base/typed-value.h