• 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
..
kde Loading commit data...
JSON-parse-reviver-expected.txt Loading commit data...
JSON-parse-reviver.js Loading commit data...
Object-defineProperty-expected.txt Loading commit data...
Object-defineProperty.js Loading commit data...
Promise-already-rejected-expected.txt Loading commit data...
Promise-already-rejected.js Loading commit data...
Promise-already-resolved-expected.txt Loading commit data...
Promise-already-resolved.js Loading commit data...
Promise-catch-expected.txt Loading commit data...
Promise-catch.js Loading commit data...
Promise-chained-then-expected.txt Loading commit data...
Promise-chained-then.js Loading commit data...
Promise-exception-expected.txt Loading commit data...
Promise-exception.js Loading commit data...
Promise-init-callback-receiver-expected.txt Loading commit data...
Promise-init-callback-receiver.js Loading commit data...
Promise-init-expected.txt Loading commit data...
Promise-init.js Loading commit data...
Promise-onFulfilled-deep-expected.txt Loading commit data...
Promise-onFulfilled-deep.js Loading commit data...
Promise-onRejected-deep-expected.txt Loading commit data...
Promise-onRejected-deep.js Loading commit data...
Promise-reject-expected.txt Loading commit data...
Promise-reject.js Loading commit data...
Promise-resolve-chain-expected.txt Loading commit data...
Promise-resolve-chain.js Loading commit data...
Promise-resolve-expected.txt Loading commit data...
Promise-resolve-state-expected.txt Loading commit data...
Promise-resolve-state.js Loading commit data...
Promise-resolve-with-itself-expected.txt Loading commit data...
Promise-resolve-with-itself.js Loading commit data...
Promise-resolve-with-then-exception-expected.txt Loading commit data...
Promise-resolve-with-then-exception.js Loading commit data...
Promise-resolve-with-then-fulfill-expected.txt Loading commit data...
Promise-resolve-with-then-fulfill.js Loading commit data...
Promise-resolve-with-then-reject-expected.txt Loading commit data...
Promise-resolve-with-then-reject.js Loading commit data...
Promise-resolve.js Loading commit data...
Promise-simple-expected.txt Loading commit data...
Promise-simple.js Loading commit data...
Promise-static-all-expected.txt Loading commit data...
Promise-static-all.js Loading commit data...
Promise-static-cast-expected.txt Loading commit data...
Promise-static-cast.js Loading commit data...
Promise-static-race-expected.txt Loading commit data...
Promise-static-race.js Loading commit data...
Promise-static-reject-expected.txt Loading commit data...
Promise-static-reject.js Loading commit data...
Promise-static-resolve-expected.txt Loading commit data...
Promise-static-resolve.js Loading commit data...
Promise-then-callback-receiver-expected.txt Loading commit data...
Promise-then-callback-receiver.js Loading commit data...
Promise-then-expected.txt Loading commit data...
Promise-then-without-callbacks-expected.txt Loading commit data...
Promise-then-without-callbacks.js Loading commit data...
Promise-then.js Loading commit data...
arguments-expected.txt Loading commit data...
arguments.js Loading commit data...
array-bad-time-expected.txt Loading commit data...
array-bad-time.js Loading commit data...
array-float-delete-expected.txt Loading commit data...
array-float-delete.js Loading commit data...
array-functions-non-arrays-expected.txt Loading commit data...
array-functions-non-arrays.js Loading commit data...
array-prototype-properties-expected.txt Loading commit data...
array-prototype-properties.js Loading commit data...
array-slow-put-expected.txt Loading commit data...
array-slow-put.js Loading commit data...
array-tostring-ignore-separator-expected.txt Loading commit data...
array-tostring-ignore-separator.js Loading commit data...
basic-strict-mode-expected.txt Loading commit data...
basic-strict-mode.js Loading commit data...
date-big-setmonth-expected.txt Loading commit data...
date-big-setmonth.js Loading commit data...
date-negative-setmonth-expected.txt Loading commit data...
date-negative-setmonth.js Loading commit data...
date-preserve-milliseconds-expected.txt Loading commit data...
date-preserve-milliseconds.js Loading commit data...
date-toisostring-expected.txt Loading commit data...
date-toisostring.js Loading commit data...
deep-recursion-test-expected.txt Loading commit data...
deep-recursion-test.js Loading commit data...
end-in-string-escape-expected.txt Loading commit data...
end-in-string-escape.js Loading commit data...
exception-properties-expected.txt Loading commit data...
exception-properties.js Loading commit data...
exception-registerfile-shrink-expected.txt Loading commit data...
exception-registerfile-shrink.js Loading commit data...
excessive-comma-usage-expected.txt Loading commit data...
excessive-comma-usage.js Loading commit data...
function-apply-expected.txt Loading commit data...
function-apply.js Loading commit data...
function-constructor-error-expected.txt Loading commit data...
function-constructor-error.js Loading commit data...
function-decompilation-operators-expected.txt Loading commit data...
function-decompilation-operators.js Loading commit data...
function-toString-parentheses-expected.txt Loading commit data...
function-toString-parentheses.js Loading commit data...
function-toString-semicolon-insertion-expected.txt Loading commit data...
function-toString-semicolon-insertion.js Loading commit data...
modify-non-references-expected.txt Loading commit data...
modify-non-references.js Loading commit data...
native-error-prototype-expected.txt Loading commit data...
native-error-prototype.js Loading commit data...
number-toString-expected.txt Loading commit data...
number-toString.js Loading commit data...
number-tofixed-expected.txt Loading commit data...
number-tofixed.js Loading commit data...
number-toprecision-expected.txt Loading commit data...
number-toprecision.js Loading commit data...
numeric-escapes-in-string-literals-expected.txt Loading commit data...
numeric-escapes-in-string-literals.js Loading commit data...
object-bad-time-expected.txt Loading commit data...
object-bad-time.js Loading commit data...
object-extra-comma-expected.txt Loading commit data...
object-extra-comma.js Loading commit data...
object-prototype-constructor-expected.txt Loading commit data...
object-prototype-constructor.js Loading commit data...
object-prototype-properties-expected.txt Loading commit data...
object-prototype-properties.js Loading commit data...
object-prototype-toLocaleString-expected.txt Loading commit data...
object-prototype-toLocaleString.js Loading commit data...
object-slow-put-expected.txt Loading commit data...
object-slow-put.js Loading commit data...
parser-syntax-check-expected.txt Loading commit data...
parser-syntax-check.js Loading commit data...
primitive-property-access-edge-cases-expected.txt Loading commit data...
primitive-property-access-edge-cases.js Loading commit data...
read-modify-eval-expected.txt Loading commit data...
read-modify-eval.js Loading commit data...
regexp-bol-expected.txt Loading commit data...
regexp-bol-with-multiline-expected.txt Loading commit data...
regexp-bol-with-multiline.js Loading commit data...
regexp-bol.js Loading commit data...
regexp-extended-characters-crash-expected.txt Loading commit data...
regexp-extended-characters-crash.js Loading commit data...
regexp-lastindex-expected.txt Loading commit data...
regexp-lastindex.js Loading commit data...
regexp-look-ahead-expected.txt Loading commit data...
regexp-look-ahead.js Loading commit data...
regexp-no-extensions-expected.txt Loading commit data...
regexp-no-extensions.js Loading commit data...
regexp-non-capturing-groups-expected.txt Loading commit data...
regexp-non-capturing-groups.js Loading commit data...
regexp-non-greedy-parentheses-expected.txt Loading commit data...
regexp-non-greedy-parentheses.js Loading commit data...
regexp-range-out-of-order-expected.txt Loading commit data...
regexp-range-out-of-order.js Loading commit data...
regexp-ranges-and-escaped-hyphens-expected.txt Loading commit data...
regexp-ranges-and-escaped-hyphens.js Loading commit data...
regexp-stack-overflow-expected.txt Loading commit data...
regexp-stack-overflow.js Loading commit data...
regexp-unicode-handling-expected.txt Loading commit data...
regexp-unicode-handling.js Loading commit data...
reserved-words-strict-expected.txt Loading commit data...
reserved-words-strict.js Loading commit data...
string-anchor-expected.txt Loading commit data...
string-anchor.js Loading commit data...
string-capitalization-expected.txt Loading commit data...
string-capitalization.js Loading commit data...
string-fontcolor-expected.txt Loading commit data...
string-fontcolor.js Loading commit data...
string-fontsize-expected.txt Loading commit data...
string-fontsize.js Loading commit data...
string-link-expected.txt Loading commit data...
string-link.js Loading commit data...
string-split-conformance-expected.txt Loading commit data...
string-split-conformance.js Loading commit data...
string-split-double-empty-expected.txt Loading commit data...
string-split-double-empty.js Loading commit data...
string-split-ignore-case-expected.txt Loading commit data...
string-split-ignore-case.js Loading commit data...
toString-exception-expected.txt Loading commit data...
toString-exception.js Loading commit data...
toString-number-expected.txt Loading commit data...
toString-number.js Loading commit data...
toString-overrides-expected.txt Loading commit data...
toString-overrides.js Loading commit data...