491d5a81dd
This embeds code for off-heap-safe builtins into the binary. Actual execution of embedded code is not implemented yet. The embedded file has the following format: namespace v8 { namespace internal { namespace { V8_EMBEDDED_TEXT_HEADER(v8_embedded_blob_) __asm__( /* builtin offsets and lengths */ ); __asm__(V8_ASM_LABEL("Builtins_RecordWrite")); __asm__( /* binary instruction stream */ ); /* Repeat for other builtins. */ extern "C" const uint8_t v8_embedded_blob_[]; static const uint32_t v8_embedded_blob_size_ = /* size in bytes */; } // namespace const uint8_t* DefaultEmbeddedBlob() { return v8_embedded_blob_; } uint32_t DefaultEmbeddedBlobSize() { return v8_embedded_blob_size_; } } // namespace internal } // namespace v8 Bug: v8:6666 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux64_fyi_rel_ng Change-Id: Ic989f01da69ebe2863f31d934bfbe2c5d6e80864 Reviewed-on: https://chromium-review.googlesource.com/946011 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#51759} |
||
---|---|---|
benchmarks | ||
build_overrides | ||
docs | ||
gni | ||
include | ||
infra | ||
samples | ||
src | ||
test | ||
testing | ||
third_party | ||
tools | ||
.clang-format | ||
.editorconfig | ||
.git-blame-ignore-revs | ||
.gitignore | ||
.gn | ||
.vpython | ||
.ycm_extra_conf.py | ||
AUTHORS | ||
BUILD.gn | ||
ChangeLog | ||
CODE_OF_CONDUCT.md | ||
codereview.settings | ||
DEPS | ||
LICENSE | ||
LICENSE.fdlibm | ||
LICENSE.strongtalk | ||
LICENSE.v8 | ||
LICENSE.valgrind | ||
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.