Add ReadonlyOp to MemberKey for member operation bytecodes 2/2
commitca39827e0a93ef220fa6cf564c6655f1c01f6175
authorKaty Voor <voork@fb.com>
Fri, 12 Feb 2021 04:26:02 +0000 (11 20:26 -0800)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Fri, 12 Feb 2021 04:28:12 +0000 (11 20:28 -0800)
treef1aaef99938261c6eb6a19e8c17f7f8b350bfa1a
parent0079e1aec358254f79c65ec0073b82507252abae
Add ReadonlyOp to MemberKey for member operation bytecodes 2/2

Summary:
Add ReadonlyOp immediate to bytecodes in MemberKey argument.
```
- {SetM, QueryM, IncDecM, SetOpM, Dim}
```
- Since we pack it into the MemberKey, the `UnsetM` bytecode contains a `ReadonlyOp` as well.

- ReadonlyOp -> ReadOnlyOp per nit on prev diff and precedent of Pascal Case for other immediates.

ReadonlyOp can be `{ReadOnly, Mutable, Any}`
Emit dummy value `Any` for now from HackC.

Reviewed By: ricklavoie

Differential Revision: D26389393

fbshipit-source-id: 9f335e6c89a9a9ea52b90c678e65853d6e3d14eb
31 files changed:
hphp/hack/src/hhbc/emit_body.rs
hphp/hack/src/hhbc/emit_class.rs
hphp/hack/src/hhbc/emit_expression.rs
hphp/hack/src/hhbc/emit_property.rs
hphp/hack/src/hhbc/emit_statement.rs
hphp/hack/src/hhbc/hhbc_ast.rs
hphp/hack/src/hhbc/instruction_sequence.rs
hphp/hack/src/hhbc/print.rs
hphp/hack/test/enum_atom/compilation/test.php.exp
hphp/hhbbc/bc.h
hphp/runtime/vm/as.cpp
hphp/runtime/vm/bytecode.cpp
hphp/runtime/vm/disas.cpp
hphp/runtime/vm/hhbc.cpp
hphp/runtime/vm/hhbc.h
hphp/runtime/vm/jit/irgen-minstr.cpp
hphp/runtime/vm/jit/irgen-sprop-global.cpp
hphp/runtime/vm/member-key.cpp
hphp/runtime/vm/member-key.h
hphp/test/quick/access_modifier.hhas
hphp/test/quick/asm_array.hhas
hphp/test/quick/asm_assert_optobj.hhas
hphp/test/quick/asm_class.hhas
hphp/test/quick/asm_prop_init.hhas
hphp/test/quick/baseH.hhas
hphp/test/quick/constructor_destructor.hhas
hphp/test/quick/member_key_offset.hhas
hphp/test/quick/member_key_offset.hhas.expectf
hphp/test/quick/member_mode_inconsistency.hhas
hphp/test/quick/member_mode_inconsistency2.hhas
hphp/test/quick/neg_iva.hhas