Go to file
Ulan Degenbaev c59b81d7b8 Revert "[heap] Add mechanism for tracking invalidated slots per memory chunk."
This reverts commit 7a5a777c97.

Reason for revert: crashing in test-api

Original change's description:
> [heap] Add mechanism for tracking invalidated slots per memory chunk.
> 
> For correct slots recording in concurrent marker, we need to resolve
> the race that happens when
> 1) the mutator is invalidating slots for double unboxing or string
> conversions
> 2) and the concurrent marker is recording these slots.
> 
> This patch adds a data-structure for tracking the invalidated objects.
> Thus we can allow the concurrent marker to record slots without
> worrying about clearing them. During old-to-old pointer updating phase
> we re-check all slots that belong to the invalidated objects.
> 
> BUG=chromium:694255
> 
> Change-Id: Ifc3d82918cd3b96e5a5fb7125691626a56f4ab83
> Reviewed-on: https://chromium-review.googlesource.com/591810
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#47049}

TBR=ulan@chromium.org,mlippautz@chromium.org

Change-Id: I7f4f8e8cb027b921a82e9c0a0623536af02581fb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:694255
Reviewed-on: https://chromium-review.googlesource.com/595994
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47052}
2017-08-01 18:13:41 +00:00
benchmarks
build_overrides
docs
gni
gypfiles
include Reland "[Memory] Add an OnCriticalMemoryPressure method to V8::Platform." 2017-08-01 01:42:19 +00:00
infra
samples
src Revert "[heap] Add mechanism for tracking invalidated slots per memory chunk." 2017-08-01 18:13:41 +00:00
test Revert "[heap] Add mechanism for tracking invalidated slots per memory chunk." 2017-08-01 18:13:41 +00:00
testing
third_party
tools [RCS] Reuse GCTracer scopes in RCS 2017-08-01 14:23:22 +00:00
.clang-format
.editorconfig Add .editorconfig 2017-07-28 13:39:24 +00:00
.gitignore
.gn
.ycm_extra_conf.py
AUTHORS Update AUTHORS file for Facebook organization 2017-07-31 08:53:21 +00:00
BUILD.gn Revert "[heap] Add mechanism for tracking invalidated slots per memory chunk." 2017-08-01 18:13:41 +00:00
ChangeLog
CODE_OF_CONDUCT.md
codereview.settings
DEPS Update V8 DEPS. 2017-07-28 03:45:42 +00:00
LICENSE
LICENSE.fdlibm
LICENSE.strongtalk
LICENSE.v8
LICENSE.valgrind
Makefile
Makefile.android
OWNERS
PRESUBMIT.py
README.md
snapshot_toolchain.gni
WATCHLISTS

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.