Go to file
Leszek Swirski ba088da239 [handles] Add a PatchValue method for Handle
We currently have a pattern of setting a dereferenced Handle location to
update that Handle's value:

  *handle.location() = new_value.ptr()

This is slightly opaque, and definitely not type-safe, so add a new
Handle<T>::PatchValue method which does this operation.

Ideally we would make Handle::location() return a const pointer to
discourage this sort of use, but there's a bunch of places where that
location pointer is used and passed around as a Handle surrogate, so
those would have to be updated first.

Change-Id: I157f7e2473ed1b86f7a93cae260b0932fed0ad88
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2424249
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#70088}
2020-09-23 12:09:36 +00:00
build_overrides tracing: Enable using Perfetto client library from Chromium 2020-05-11 11:17:57 +00:00
custom_deps
docs
gni v8: Expand is_linux to is_linux || is_chromeos. 2020-09-14 10:11:24 +00:00
include Revert "[wasm][ukm] Add tests for Wasm events (reland)" 2020-09-22 20:52:31 +00:00
infra [test] Run extra variants on MacOS-arm64 2020-09-22 18:13:28 +00:00
samples [api][cleanup] Use Template::Set with const char* name 2020-09-09 15:39:36 +00:00
src [handles] Add a PatchValue method for Handle 2020-09-23 12:09:36 +00:00
test [test] Skip flaky test 2020-09-23 11:03:20 +00:00
testing
third_party [csa][cleanup] Remove ParameterMode/TNodify StoreFixedDoubleArrayElement 2020-08-26 17:14:44 +00:00
tools Revert "[torque] refactor: use -tq only in filenames derived from .tq files" 2020-09-22 17:20:30 +00:00
.clang-format
.clang-tidy
.editorconfig
.flake8
.git-blame-ignore-revs
.gitattributes
.gitignore Revert "[presubmit] Add JS formatting for tools/system-analyzer" 2020-07-17 10:33:40 +00:00
.gn
.vpython
.ycm_extra_conf.py
AUTHORS Adding Red Hat to the list of Authorized contributors. 2020-09-16 12:34:39 +00:00
BUILD.gn Revert "[torque] refactor: use -tq only in filenames derived from .tq files" 2020-09-22 17:20:30 +00:00
CODE_OF_CONDUCT.md
codereview.settings
COMMON_OWNERS Adding vahl@ to the common owners to be able to handle 2020-08-21 09:04:56 +00:00
DEPS Update V8 DEPS. 2020-09-23 03:51:29 +00:00
ENG_REVIEW_OWNERS
INFRA_OWNERS Add team members as owners 2020-08-18 08:29:04 +00:00
INTL_OWNERS
LICENSE
LICENSE.fdlibm
LICENSE.strongtalk
LICENSE.v8
MIPS_OWNERS
OWNERS
PPC_OWNERS Adding Red Hat to the list of Authorized contributors. 2020-09-16 12:34:39 +00:00
PRESUBMIT.py [presubmit] Allow use of test functions in runtime-test.cc 2020-08-10 12:12:55 +00:00
README.md
S390_OWNERS Adding Red Hat to the list of Authorized contributors. 2020-09-16 12:34:39 +00:00
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://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.