v8/test/unittests/interpreter
Sigurd Schneider d2729be4ae Revert "Optimize in operator"
This reverts commit 32fc0acfef.

Reason for revert:

https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Linux%2064/30270

layout test breakage:

https://test-results.appspot.com/data/layout_results/V8-Blink_Linux_64/30270/webkit_layout_tests%20%28with%20patch%29/layout-test-results/results.html

There is a dead node arriving in representation selection, which might indicate that the problem is not in this CL, but that this CL stirs up the node soup in such a way that dead code elimination gets confused.

Original change's description:
> Optimize `in` operator
> 
> This change implements optimizations for the `in` operator for packed array
> elements and object properties. It adds a new feedback slot kind and an IC
> path similar to KeyedLoadIC for handling the lookups. TurboFan uses the
> feedback to optimize based on the maps and keys.
> 
> For more details see:
> https://docs.google.com/document/d/1tIfzywY8AeNVcy_sen-5Xev21MeZwjcU8QhSdzHvXig
> 
> This can provide 10x performance improvements of on loops of the form:
> 
>     for (let i = 0; i < ary.length; ++i) {
>       if (i in ary) {
>         ...
>       }
>     }
> 
> 
> Bug: v8:8733
> Change-Id: I766bf865a547a059e5bce5399bb6112e5d9a85c8
> Reviewed-on: https://chromium-review.googlesource.com/c/1432598
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Reviewed-by: Igor Sheludko <ishell@chromium.org>
> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
> Reviewed-by: Toon Verwaest <verwaest@chromium.org>
> Commit-Queue: Matt Gardner <magardn@microsoft.com>
> Cr-Commit-Position: refs/heads/master@{#59843}

TBR=ulan@chromium.org,rmcilroy@chromium.org,jkummerow@chromium.org,jarin@chromium.org,ishell@chromium.org,bmeurer@chromium.org,verwaest@chromium.org,magardn@microsoft.com

Change-Id: Ib2db974e5bed4c4a2b6b450f796bdc4b0b8fd562
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:8733
Reviewed-on: https://chromium-review.googlesource.com/c/1488761
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59857}
2019-02-26 10:40:26 +00:00
..
bytecode-array-builder-unittest.cc Revert "Optimize in operator" 2019-02-26 10:40:26 +00:00
bytecode-array-iterator-unittest.cc [cleanup] #include heap-inl.h less often 2019-02-15 06:22:53 +00:00
bytecode-array-random-iterator-unittest.cc [cleanup] #include heap-inl.h less often 2019-02-15 06:22:53 +00:00
bytecode-array-writer-unittest.cc [cleanup] Refactor interpreter to use default members. 2018-09-14 16:50:34 +00:00
bytecode-decoder-unittest.cc [interpreter] Store CreateObjectLiteral's result into the accumulator. 2018-11-08 10:31:45 +00:00
bytecode-node-unittest.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
bytecode-operands-unittest.cc [Interpreter] Templatize AccumulatorUsage and OperandType for bytecode creation. 2016-12-15 07:56:21 +00:00
bytecode-register-allocator-unittest.cc [cleanup] Refactor interpreter to use default members. 2018-09-14 16:50:34 +00:00
bytecode-register-optimizer-unittest.cc [cleanup] Refactor interpreter to use default members. 2018-09-14 16:50:34 +00:00
bytecode-source-info-unittest.cc [Interpreter] Remove BytecodePipeline. 2017-04-12 15:18:50 +00:00
bytecode-utils.h [cleanup] Fix kPointerSize in tests 2019-02-14 15:29:52 +00:00
bytecodes-unittest.cc Revert "Optimize in operator" 2019-02-26 10:40:26 +00:00
constant-array-builder-unittest.cc [cleanup] #include heap-inl.h less often 2019-02-15 06:22:53 +00:00
interpreter-assembler-unittest.cc [cleanup] Fix kPointerSize in tests 2019-02-14 15:29:52 +00:00
interpreter-assembler-unittest.h [cleanup] Refactor interpreter to use default members. 2018-09-14 16:50:34 +00:00