Introduce CallFlags to eventually replace ActRec::m_numArgsAndFlags
Summary:
Introduce a CallFlags integer that is currently always equal to zero that is
passed to the prologue via a register.
This integer will eventually have the following structure:
- bits 0..(N-1): various flags (e.g. HasReifiedGenerics)
- bits N..31: number of passed arguments
- bits 32..47: bitmap of passed generics (moved ActRec::m_reifiedGenerics)
- bits 48..63: unused
This diff introduces an extra instruction per function call that zeroes out
a register holding these flags. This will cause a ~0.2-0.3% regression that
will be compensated for by a follow up diffs that eliminate or defer storing
ActRec's m_numArgsAndFlags to the prologue.
Reviewed By: ricklavoie
Differential Revision:
D17537835
fbshipit-source-id:
0eb5d6dc404c402e2db3270b77cf936f0c286ba2