Revert "[turbofan] Consistently use String feedback for JSAdd."

This reverts commit d504203e93096aefe35d31094d61c9014a11d377.

Reason for revert: b/74469145

Original change's description:
> [turbofan] Consistently use String feedback for JSAdd.
> 
> Currently we didn't always consistently use the String feedback on
> JSAdd, but only if JSTypedLowering would already figure out statically
> that one of the inputs is already a String. That leads to some odd
> performance cliffs, as highlighted in the referenced bug.
> 
> This CL fixes the JSTypedLowering::ReduceJSAdd to always bake in the
> String feedback. This improves the relevant performance tests from the
> bug from
> 
>   console.timeEnd: Runtime join3, 967.512000
>   console.timeEnd: Runtime join, 1004.599000
>   console.timeEnd: Runtime join3, 1124.764000
>   console.timeEnd: Runtime join, 966.164000
>   console.timeEnd: Runtime join3, 1145.296000
>   console.timeEnd: Runtime join, 966.176000
>   console.timeEnd: Runtime join3, 1145.272000
>   console.timeEnd: Runtime join, 931.266000
> 
> to
> 
>   console.timeEnd: Runtime join3, 903.050000
>   console.timeEnd: Runtime join, 856.509000
>   console.timeEnd: Runtime join3, 945.144000
>   console.timeEnd: Runtime join, 840.038000
>   console.timeEnd: Runtime join3, 927.965000
>   console.timeEnd: Runtime join, 841.263000
>   console.timeEnd: Runtime join3, 929.342000
>   console.timeEnd: Runtime join, 858.143000
> 
> which corresponds to an 8-18% improvement.
> 
> Bug: v8:7415
> Change-Id: I62e008298e4ee0864885b37817c91d055acf2a09
> Reviewed-on: https://chromium-review.googlesource.com/936643
> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#51551}

TBR=jarin@chromium.org,bmeurer@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: v8:7415
Change-Id: I106a314bcd4187abdad6dc11306226d0c28ef524
Reviewed-on: https://chromium-review.googlesource.com/963522
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51949}
1 file changed
tree: f2b689f65d60e33f9bcf544fd3679138a46f79bc
  1. .clang-format
  2. .editorconfig
  3. .git-blame-ignore-revs
  4. .gitignore
  5. .gn
  6. .vpython
  7. .ycm_extra_conf.py
  8. AUTHORS
  9. BUILD.gn
  10. CODE_OF_CONDUCT.md
  11. ChangeLog
  12. DEPS
  13. LICENSE
  14. LICENSE.fdlibm
  15. LICENSE.strongtalk
  16. LICENSE.v8
  17. LICENSE.valgrind
  18. OWNERS
  19. PRESUBMIT.py
  20. README.md
  21. WATCHLISTS
  22. benchmarks/
  23. build_overrides/
  24. codereview.settings
  25. docs/
  26. gni/
  27. include/
  28. infra/
  29. samples/
  30. snapshot_toolchain.gni
  31. src/
  32. test/
  33. testing/
  34. third_party/
  35. tools/
README.md

V8 JavaScript Engine

V8 is Google's open source JavaScript engine.

V8 implements ECMAScript as specified in ECMA-262.

V8 is written in C++ and is used in Google Chrome, the open source browser from Google.

V8 can run standalone, or can be embedded into any C++ application.

V8 Project page: https://github.com/v8/v8/wiki

Getting the Code

Checkout depot tools, and run

    fetch v8

This will checkout V8 into the directory v8 and fetch all of its dependencies. To stay up to date, run

    git pull origin
    gclient sync

For fetching all branches, add the following into your remote configuration in .git/config:

    fetch = +refs/branch-heads/*:refs/remotes/branch-heads/*
    fetch = +refs/tags/*:refs/tags/*

Contributing

Please follow the instructions mentioned on the V8 wiki.