Add Rx bits to the front-end.
Summary:
Add a new header file for Rx-related code, define an enum with the possible Rx states of a func in it.
Move some function attr bits around to make a contiguous 3-bit hole. Put bits in it that can represent the valid states of the Rx enum. Add code for converting from attr bits to values of the enum.
Teach the [dis]assembler about these bits, and validate the bits in the assembler. Teach the func pretty-printer to show them.
Teach the frontend to convert Rx attributes to Rx bits in hhas. Make it copy Rx bits onto memoize wrappers. Inout/byref wrappers will be handled in a later diff, for now they are all non-Rx.
Add test for invalid combinations of bits in .hhas. Tests of invalid combinations of Rx attributes in the hack input are on the previous diff in the stack.
Reviewed By: jano
Differential Revision:
D9828340
fbshipit-source-id:
355bffcedf6cc7a16da7867193bac2e89a112655