Revert "[compiler] Cache StateValue processing in InstructionSelector."

This reverts commit 812eb264569475845d15ebae4cfeca477d8c72e1.

Reason for revert: clusterfuzz crashes

Original change's description:
> [compiler] Cache StateValue processing in InstructionSelector.
>
> Processing StateValues into operands is one of the most costly
> parts of instruction selection. As it happens, StateValues are
> shared by many nodes, and so we are unecessarily reprocessing
> the same StateValues multiple times. This CL introduces caching
> for the processed StateValues enabling very fast emitting of
> operands for subsiquent instructions with the same StateValue.
> The hitrate for the cache is higher than 90% on most optimizations.
>
> BUG=v8:9684
>
> Change-Id: I45db86dcbf22ab972b892f11c608b825aeb3ecf3
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2749634
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#73342}

Bug: v8:9684
Change-Id: I7d8121f91a0a7ed764add64f12f3954635921cfa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2756208
Auto-Submit: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#73361}
(cherry picked from commit 5ddbc33b80f5d1b9cd211d1ad788352200ebb85e)
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2759521
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Mythri Alle <mythria@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
3 files changed
tree: 2114fe3f3f5464b38eef09f0605dd9af2c927fad
  1. .github/
  2. build_overrides/
  3. custom_deps/
  4. docs/
  5. gni/
  6. include/
  7. infra/
  8. samples/
  9. src/
  10. test/
  11. testing/
  12. third_party/
  13. tools/
  14. .clang-format
  15. .clang-tidy
  16. .editorconfig
  17. .flake8
  18. .git-blame-ignore-revs
  19. .gitattributes
  20. .gitignore
  21. .gn
  22. .vpython
  23. .ycm_extra_conf.py
  24. AUTHORS
  25. BUILD.gn
  26. CODE_OF_CONDUCT.md
  27. codereview.settings
  28. COMMON_OWNERS
  29. DEPS
  30. DIR_METADATA
  31. ENG_REVIEW_OWNERS
  32. INFRA_OWNERS
  33. INTL_OWNERS
  34. LICENSE
  35. LICENSE.fdlibm
  36. LICENSE.strongtalk
  37. LICENSE.v8
  38. MIPS_OWNERS
  39. OWNERS
  40. PPC_OWNERS
  41. PRESUBMIT.py
  42. README.md
  43. RISCV_OWNERS
  44. S390_OWNERS
  45. WATCHLISTS
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://v8.dev/docs

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 at v8.dev/docs/contribute.