Drop native Shapes::idx 'optimization'
commitf1231364460465b545a4acd97f4cab3fabd5056b
authorShaunak Kishore <kshaunak@fb.com>
Sat, 19 Dec 2020 07:00:58 +0000 (18 23:00 -0800)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Sat, 19 Dec 2020 07:02:43 +0000 (18 23:02 -0800)
treed6b93815fd2a19471197ab076c3781aa46fc7f71
parent65bd8731986cd709017bbf9727646d20c4a0ad27
Drop native Shapes::idx 'optimization'

Summary:
The only purpose of making Shapes::idx a native call was to force it to be inlined via FCallBuiltin so that we could use the offset lookup optimization for these array accesses.

Now that FCallBuiltin is dead, we'll never do this profiling. That means a pure Hack implementation will work as well as the builtin.

Reviewed By: oulgen

Differential Revision: D25640887

fbshipit-source-id: 823edcae1cb7c4ddb569637c7ba15f8fb6577e2c
19 files changed:
hphp/hhbbc/interp-builtin.cpp
hphp/runtime/ext/shapes/config.cmake [deleted file]
hphp/runtime/ext/shapes/ext_shapes.cpp [deleted file]
hphp/runtime/vm/jit/irgen-builtin.cpp
hphp/system/php.txt
hphp/system/php/shapes/ext_shapes.php [moved from hphp/runtime/ext/shapes/ext_shapes.php with 91% similarity]
hphp/test/slow/class-ptr/classptr-eager-convert.php.expectf
hphp/test/slow/class-ptr/classptr-eager-convert.php.hphp_opts
hphp/test/slow/class-ptr/classptr-eager-convert.php.opts
hphp/test/slow/class-ptr/lazyclass-convert-key.php.expectf
hphp/test/slow/class-ptr/lazyclass-convert-key.php.hphp_opts
hphp/test/slow/class-ptr/lazyclass-convert-key.php.opts
hphp/test/slow/hack_arr_compat/specialization.php
hphp/test/slow/hack_arr_compat/specialization.php.expectf
hphp/test/slow/shapes/idx_arr_compat.php.expectf
hphp/test/slow/shapes/idx_arr_null_still_checks_arraykey.php.expectf
hphp/test/slow/shapes/idx_arr_type_error.php.expectf
hphp/test/slow/shapes/idx_key_type_error.php.expectf
hphp/util/hphp-config.h.in