Convert `__PolicyShardedMemoize` to `__Memoize("ShardByIC")` for the runtimenightly-2022.06.26
commit797d70bcc5e9f770a0e4256b188b1c0425d80fce
authorOguz Ulgen <[email protected]>
Sat, 25 Jun 2022 23:22:40 +0000 (25 16:22 -0700)
committerFacebook GitHub Bot <[email protected]>
Sat, 25 Jun 2022 23:22:40 +0000 (25 16:22 -0700)
treeadf50b4bf68449394d4b11e818190c0dd529014a
parent6a7702dc1729895c0bb1a6130b48c9043842ad34
Convert `__PolicyShardedMemoize` to `__Memoize("ShardByIC")` for the runtime

Summary:
* Converts `__PolicyShardedMemoize` to `__Memoize("ShardByIC")` only for the runtime.
* Allows usage of `__Memoize("ShardByIC")` in any context.
* Removes any reference to `__PolicyShardedMemoize` from the runtime

On later diffs, I will allow using this new memoization in the typechecker.

Reviewed By: jamesjwu

Differential Revision: D37074246

fbshipit-source-id: 462f05a411f2ff4ae612b1915f6890bb0d03faa3
21 files changed:
hphp/hack/src/hackc/emitter/emit_memoize_function.rs
hphp/hack/src/hackc/emitter/emit_memoize_method.rs
hphp/hack/src/hackc/hhbc/hhas_attribute.rs
hphp/hack/src/parser/lowerer/lowerer.rs
hphp/hack/test/typecheck/coeffects/memoize_without_globals_shallow.php
hphp/hack/test/typecheck/coeffects/memoize_without_globals_shallow.php.exp
hphp/hack/test/typecheck/memoize_obj_policied.php
hphp/hack/test/typecheck/memoize_obj_policied.php.exp
hphp/runtime/vm/bytecode.cpp
hphp/runtime/vm/func-emitter.cpp
hphp/runtime/vm/func-inl.h
hphp/runtime/vm/func.cpp
hphp/runtime/vm/func.h
hphp/runtime/vm/jit/irgen-builtin.cpp
hphp/runtime/vm/jit/irgen-call.cpp
hphp/test/slow/coeffects/memo-3.php [deleted file]
hphp/test/slow/coeffects/memo-3.php.expectf [deleted file]
hphp/test/slow/coeffects/memo-4.php [deleted file]
hphp/test/slow/coeffects/memo-4.php.expectf [deleted file]
hphp/test/slow/coeffects/memo-error-2.php [deleted file]
hphp/test/slow/coeffects/memo-error-2.php.expectf [deleted file]