Move all arrprov instrumentation into {Packed,Mixed}Array
Summary:
This reduces the surface area of instrumentation and gives us a lot more
coverage by default, especially if we enable VM reg sync for native
calls by default. It replaces all the other runtime provenance tagging
callsites.
The only cost is that we incur some non-taken branches and code in paths
which before we could avoid by handling the checks in the JIT... but if
we want correctness by default for, e.g., all builtins, including those
which don't use the preferred array interfaces (e.g., ArrayInit), we
can't really avoid that anyway.
Reviewed By: jjgriego
Differential Revision:
D17090670
fbshipit-source-id:
eb5b521335e061bdf89ab5563501742d6dd2f33d