Kill a bunch of unnecessary makeCatchSet blocks
commitf45e2c18c924d15f9124ca2e7dcc496cdfc18b9b
authorMichael Colavita <mcolavita@fb.com>
Fri, 23 Oct 2020 20:08:10 +0000 (23 13:08 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Fri, 23 Oct 2020 20:16:29 +0000 (23 13:16 -0700)
tree6e72ef14204aa0d021d2178bc54e90eb0632a8e7
parentb007e0894fc207caa81db9e92ac3617cf1609cf6
Kill a bunch of unnecessary makeCatchSet blocks

Summary: We only need to use a `makeCatchSet` block if the helper we're calling can throw InvalidSetMException. This only occurs when the base of the SetM op is a scalar, a string, or null. Therefore, if we have enough knowledge of the type to conclude it is impossible to throw InvalidSetMException, don't create a custom catch block.

Differential Revision: D24504732

fbshipit-source-id: b868f6ba3cb23524b2a4dcccf889aa37d8b5af60
hphp/runtime/vm/jit/irgen-minstr.cpp