Profile to find places we can guard on KindOfStaticString, take 2
Summary: If 100% of the Str values flowing through a guard in profiling
translations are KindOfStaticString, we change that guard to KindOfStaticString
in the optimized translation. In practice, most values are KindOfString with a
static _count but guarding on that is much more expensive and must be justified
with concrete savings. This diff just covers the cases that should be made
strictly better: the guard is the same size/cost, shouldn't fail any more often
than it used to, and the generated code will only differ in that there may be
fewer refcounting operations.
Reviewed By: @ottoni
Differential Revision:
D1342007