• Georg Neis's avatar
    Revert "[interpreter] Add bytecode for leading array spreads." · ef569028
    Georg Neis authored
    This reverts commit 1c48d52b.
    
    Reason for revert: Clusterfuzz found something.
    
    Original change's description:
    > [interpreter] Add bytecode for leading array spreads.
    > 
    > This CL improves the performance of creating [...a, b] or [...a].
    > If the array literal has a leading spread, this CL emits the bytecode
    > [CreateArrayFromIterable] to create the literal. CreateArrayFromIterable
    > is implemented by [IterableToListDefault] builtin to create the initial
    > array for the leading spread. IterableToListDefault has a fast path to
    > clone efficiently if the spread is an actual array.
    > 
    > The bytecode generated is now shorter. Bytecode generation is refactored
    > into to BuildCreateArrayLiteral, which allows VisitCallSuper to benefit
    > from this optimization also.
    > For now, turbofan also lowers the bytecode to the builtin.
    > 
    > The idiomatic use of [...a] to clone the array a now performs better
    > than a simple for-loop, but still does not match the performance of slice.
    > 
    > Bug: v8:7980
    > 
    > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
    > Change-Id: Ibde659c82d3c7aa1b1777a3d2f6426ac8cc15e35
    > Reviewed-on: https://chromium-review.googlesource.com/1181024
    > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
    > Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
    > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    > Reviewed-by: Georg Neis <neis@chromium.org>
    > Commit-Queue: Georg Neis <neis@chromium.org>
    > Commit-Queue: Hai Dang <dhai@google.com>
    > Cr-Commit-Position: refs/heads/master@{#55520}
    
    TBR=rmcilroy@chromium.org,neis@chromium.org,sigurds@chromium.org,gsathya@chromium.org,jgruber@chromium.org,dhai@google.com
    
    Change-Id: I1c86ddcc24274da9f5a8dd3d8bf8d869cbb55cb6
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: v8:7980
    Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
    Reviewed-on: https://chromium-review.googlesource.com/1199303Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Commit-Queue: Georg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#55544}
    ef569028
Name
Last commit
Last update
..
OWNERS Loading commit data...
block-coverage-builder.h Loading commit data...
bytecode-array-accessor.cc Loading commit data...
bytecode-array-accessor.h Loading commit data...
bytecode-array-builder.cc Loading commit data...
bytecode-array-builder.h Loading commit data...
bytecode-array-iterator.cc Loading commit data...
bytecode-array-iterator.h Loading commit data...
bytecode-array-random-iterator.cc Loading commit data...
bytecode-array-random-iterator.h Loading commit data...
bytecode-array-writer.cc Loading commit data...
bytecode-array-writer.h Loading commit data...
bytecode-decoder.cc Loading commit data...
bytecode-decoder.h Loading commit data...
bytecode-flags.cc Loading commit data...
bytecode-flags.h Loading commit data...
bytecode-generator.cc Loading commit data...
bytecode-generator.h Loading commit data...
bytecode-jump-table.h Loading commit data...
bytecode-label.cc Loading commit data...
bytecode-label.h Loading commit data...
bytecode-node.cc Loading commit data...
bytecode-node.h Loading commit data...
bytecode-operands.cc Loading commit data...
bytecode-operands.h Loading commit data...
bytecode-register-allocator.h Loading commit data...
bytecode-register-optimizer.cc Loading commit data...
bytecode-register-optimizer.h Loading commit data...
bytecode-register.cc Loading commit data...
bytecode-register.h Loading commit data...
bytecode-source-info.cc Loading commit data...
bytecode-source-info.h Loading commit data...
bytecode-traits.h Loading commit data...
bytecodes.cc Loading commit data...
bytecodes.h Loading commit data...
constant-array-builder.cc Loading commit data...
constant-array-builder.h Loading commit data...
control-flow-builders.cc Loading commit data...
control-flow-builders.h Loading commit data...
handler-table-builder.cc Loading commit data...
handler-table-builder.h Loading commit data...
interpreter-assembler.cc Loading commit data...
interpreter-assembler.h Loading commit data...
interpreter-generator.cc Loading commit data...
interpreter-generator.h Loading commit data...
interpreter-intrinsics-generator.cc Loading commit data...
interpreter-intrinsics-generator.h Loading commit data...
interpreter-intrinsics.cc Loading commit data...
interpreter-intrinsics.h Loading commit data...
interpreter.cc Loading commit data...
interpreter.h Loading commit data...
setup-interpreter-internal.cc Loading commit data...
setup-interpreter.h Loading commit data...