Move the region formation workaround for ignoring inferred return type deeper
commit7bc0505e29744c82ed07990108280e3d7cd5ca90
authorJan Oravec <jan@fb.com>
Tue, 1 Oct 2019 17:08:09 +0000 (1 10:08 -0700)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Tue, 1 Oct 2019 17:15:08 +0000 (1 10:15 -0700)
tree276799baaf9f062781e75cc3002428d21b2a8345
parent645eb77aa6d58a546c37f568b8d36f6356ec51ba
Move the region formation workaround for ignoring inferred return type deeper

Summary:
Do not just callUnknown() when we are forming region, as that approach no
longer works with the other diff that moves callee of the Call and CallUnpack
instructions from their extra data to their source.

Instead, pass a flag indicating whether we are forming region and use that to
disable inferrence.

Reviewed By: markw65

Differential Revision: D17683654

fbshipit-source-id: 3a1a9566546d24cee7579145fdc312a31fb7831d
hphp/runtime/vm/jit/extra-data.h
hphp/runtime/vm/jit/ir-instruction.cpp
hphp/runtime/vm/jit/irgen-call.cpp
hphp/test/slow/compilation/region-formation-call-inference.php [new file with mode: 0644]
hphp/test/slow/compilation/region-formation-call-inference.php.expect [new file with mode: 0644]
hphp/test/slow/compilation/region-formation-call-inference.php.opts [new file with mode: 0644]