Go to file
Ulan Degenbaev 767fff40e2 [heap] Avoid updating the shared worklist twice in per-context mode
MarkingWorklistHolder has two references to the shared marking worklist:
1) as a standalone worklist for general marking,
2) as a context worklist for per-context mode marking.

Because of that the shared worklist gets updated twice and breaks
the invariants of UpdateMarkingWorklistAfterScavenge.

Bug: chromium:1046791, chromium:973627
Change-Id: I61a8423f8b4d355adb5e8004bf200c67453c1e27
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2029411
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66045}
2020-01-30 12:31:50 +00:00
build_overrides Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00
custom_deps Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00
docs Add OWNERS for docs/ 2019-05-15 12:06:15 +00:00
gni [heap-profiler] Expose 'globalObjectsAsRoots' via inspector interface 2019-12-18 10:18:58 +00:00
include [api] New function for reallocating ArrayBuffer backing store 2020-01-30 12:05:17 +00:00
infra [fuchsia] Finalize rename & add test configuration for test runner 2020-01-27 09:54:25 +00:00
samples [cleanup] Drop some occurrences of Isolate::Current 2019-06-26 19:39:21 +00:00
src [heap] Avoid updating the shared worklist twice in per-context mode 2020-01-30 12:31:50 +00:00
test [api] New function for reallocating ArrayBuffer backing store 2020-01-30 12:05:17 +00:00
testing Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00
third_party [DevTools] Roll inspector_protocol. 2020-01-24 23:40:42 +00:00
tools [testing] Collect test duration 2020-01-30 10:17:06 +00:00
.clang-format
.clang-tidy [tool] Remove unfixed clang-tidy warnings to ease use. 2018-10-26 07:40:32 +00:00
.editorconfig
.flake8 Add .flake8 to allow for python style checking. 2019-07-19 21:44:03 +00:00
.git-blame-ignore-revs Add recent code rewrite to .git-blame-ignore-revs 2019-05-23 10:38:45 +00:00
.gitattributes .gitattributes: Mark minified emscripten js files as -diff 2018-09-19 16:27:10 +00:00
.gitignore [git] Ignore jit-*.dump files 2020-01-07 12:14:15 +00:00
.gn [build] Dynamically decide if to use system xcode 2019-07-29 08:20:24 +00:00
.vpython [tools] Implement confidence-based number of runs 2019-05-09 09:42:28 +00:00
.ycm_extra_conf.py Fix ycm config for headers without source 2019-12-09 11:59:21 +00:00
AUTHORS [parser] add support for BigInt literal as property names 2020-01-13 10:51:45 +00:00
BUILD.gn [promises] Port remaining promise code to Torque. 2020-01-29 18:02:40 +00:00
CODE_OF_CONDUCT.md
codereview.settings
COMMON_OWNERS [OWNERS] Add dinfuehr@ to COMMON_OWNERS 2020-01-10 14:42:32 +00:00
DEPS Update V8 DEPS. 2020-01-30 04:02:56 +00:00
ENG_REVIEW_OWNERS Add eng review owners as escalation path 2019-05-15 19:12:10 +00:00
INFRA_OWNERS Remove myself from owners 2019-12-12 14:22:32 +00:00
INTL_OWNERS Add missing owners files 2019-05-31 07:21:01 +00:00
LICENSE [wasm] Draft version of C/C++ Wasm API 2019-04-17 16:00:26 +00:00
LICENSE.fdlibm
LICENSE.strongtalk
LICENSE.v8
LICENSE.valgrind
MIPS_OWNERS Move architecture dependent files 2019-05-28 14:02:15 +00:00
OWNERS Add syg@chromium.org as DEPS owner for test262 rolls 2019-09-17 19:29:11 +00:00
PPC_OWNERS Move architecture dependent files 2019-05-28 14:02:15 +00:00
PRESUBMIT.py Remove the #undef check from the Presubmit for .cc files 2020-01-24 15:24:51 +00:00
README.md [docs] Change links from old wiki to v8.dev 2019-03-07 12:13:30 +00:00
S390_OWNERS Move architecture dependent files 2019-05-28 14:02:15 +00:00
WATCHLISTS Remove myself from WATCHLISTS 2020-01-18 00:34:32 +00:00

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.