v8/test/unittests/interpreter
wenqin.yang c4a0e4a10f [Interpreter]Elide redundant load context bytecode
We found there are redundant load context operations in
some bytecode array.

like this:
LdaImmutableCurrentContextSlot [1]
Star0
......   (don’t edit accumulator)
LdaImmutableCurrentContextSlot [1]
Star1
Add r1

In that case, we could modify this bytecode array as:
LdaImmutableCurrentContextSlot [1]
Star0
......   (don’t edit accumulator)
Add r0

This CL will elide these redundant bytecodes
(LdaImmutableCurrentContextSlot and Star1), because there is no
side effect for loading context, and this context slot is immutable.

Change-Id: Ia26f4b934d3bd1d48c50c0c4699ba7942939991c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3816221
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/main@{#82641}
2022-08-23 07:20:36 +00:00
..
bytecode_expectations [Interpreter]Elide redundant load context bytecode 2022-08-23 07:20:36 +00:00
bytecode-array-builder-unittest.cc [osr] Add JumpLoop feedback slot operand 2022-04-20 12:57:44 +00:00
bytecode-array-iterator-unittest.cc [ic] name Set/Define/Store property operations more consistently 2022-03-08 18:48:16 +00:00
bytecode-array-random-iterator-unittest.cc [ic] name Set/Define/Store property operations more consistently 2022-03-08 18:48:16 +00:00
bytecode-array-writer-unittest.cc [osr] Add JumpLoop feedback slot operand 2022-04-20 12:57:44 +00:00
bytecode-decoder-unittest.cc [ignition] Remove unused count from param index getters 2021-12-16 15:43:22 +00:00
bytecode-expectations-printer.cc [test] Move cctest/interpreter to unittests 2022-06-10 08:37:10 +00:00
bytecode-expectations-printer.h [test] Move cctest/interpreter to unittests 2022-06-10 08:37:10 +00:00
bytecode-generator-unittest.cc [Interpreter]Elide redundant load context bytecode 2022-08-23 07:20:36 +00:00
bytecode-node-unittest.cc [ic] name Set/Define/Store property operations more consistently 2022-03-08 18:48:16 +00:00
bytecode-operands-unittest.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
bytecode-register-allocator-unittest.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
bytecode-register-optimizer-unittest.cc [ignition] Remove unused count from param index getters 2021-12-16 15:43:22 +00:00
bytecode-source-info-unittest.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
bytecode-utils.h Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
bytecodes-unittest.cc [ignition] Remove unused count from param index getters 2021-12-16 15:43:22 +00:00
constant-array-builder-unittest.cc [offthread] Add an OffThreadIsolate 2020-02-04 11:37:47 +00:00
generate-bytecode-expectations.cc [sandbox] Initialize sandbox during V8::Initialize 2022-07-15 09:29:32 +00:00
interpreter-assembler-unittest.cc [Compiler] Remove untrusted code mitigations. 2021-08-12 12:58:24 +00:00
interpreter-assembler-unittest.h [Compiler] Remove untrusted code mitigations. 2021-08-12 12:58:24 +00:00
interpreter-intrinsics-unittest.cc [test] Move cctest/interpreter to unittests 2022-06-10 08:37:10 +00:00
interpreter-tester.cc [test] Move cctest/interpreter to unittests 2022-06-10 08:37:10 +00:00
interpreter-tester.h [test] Move cctest/interpreter to unittests 2022-06-10 08:37:10 +00:00
interpreter-unittest.cc [cleanup] Remove Interpreter::LookupNameOfBytecodeHandler 2022-07-20 13:41:02 +00:00
source-position-matcher.cc [test] Move cctest/interpreter to unittests 2022-06-10 08:37:10 +00:00
source-position-matcher.h [test] Move cctest/interpreter to unittests 2022-06-10 08:37:10 +00:00
source-positions-unittest.cc [test] Move cctest/interpreter to unittests 2022-06-10 08:37:10 +00:00