Reland "[wasm][gc] Reenable discarding system pages"

This is a reland of 200a594a63d2d2357f685cee67892d366af54940.
The failing DCHECK was wrong, which is fixed now.

Original change's description:
> [wasm][gc] Reenable discarding system pages
>
> On windows, the range to be discarded needs to be split by the
> reservations, analogous to committing. This CL reuses the same logic,
> and reenables discarding pages on all platforms.
>
> R=mstarzinger@chromium.org
>
> Bug: v8:8217
> Change-Id: I11716d6381f765bdfe4cf48502b5cdc1f42cf8ab
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611682
> Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#61526}

Bug: v8:8217
No-Try: true
Change-Id: I293c638a5bc4678591a9c02704770ab54af39bdb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613248
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#61530}
1 file changed
tree: 4d7a4083b32b21976417a73e25f32cabdec2b5a5
  1. .clang-format
  2. .clang-tidy
  3. .editorconfig
  4. .git-blame-ignore-revs
  5. .gitattributes
  6. .gitignore
  7. .gn
  8. .vpython
  9. .ycm_extra_conf.py
  10. AUTHORS
  11. BUILD.gn
  12. CODE_OF_CONDUCT.md
  13. ChangeLog
  14. DEPS
  15. INFRA_OWNERS
  16. LICENSE
  17. LICENSE.fdlibm
  18. LICENSE.strongtalk
  19. LICENSE.v8
  20. LICENSE.valgrind
  21. OWNERS
  22. PRESUBMIT.py
  23. README.md
  24. WATCHLISTS
  25. benchmarks/
  26. build_overrides/
  27. codereview.settings
  28. custom_deps/
  29. docs/
  30. gni/
  31. include/
  32. infra/
  33. samples/
  34. snapshot_toolchain.gni
  35. src/
  36. test/
  37. testing/
  38. third_party/
  39. 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://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.