Go to file
Michael Lippautz 0c0a4f0e3c [heap] Remove IsSweepingCompleted(AllocationSpace)
Adjusting the count requires us to call into Semaphore::WaitFor which
even on a z840 introduces a pause of at least 50us. We often call in
here from the unmapper that tries to add pages. E.g. for reducing the
new space size of 8M we call this for 16x2 pages, resulting in a pause
of 1.6ms for just checking the status of the sweeper tasks.

Avoiding reducing the count reduces the epilogue times. Example: FB
infinite scroll:

Before:
  heap.epilogue
    len: 102
    min: 0.01
    max: 4.83
    avg: 0.140196078431
    [0,5[: 102
After:
  heap.epilogue
    len: 106
    min: 0.01
    max: 0.24
    avg: 0.0260377358491
    [0,5[: 106

BUG=

Change-Id: I296c20ae3ac4b65218e4e038a9dbce504160a764
Reviewed-on: https://chromium-review.googlesource.com/455839
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43863}
2017-03-16 13:44:07 +00:00
benchmarks
build_overrides Remove build_overrides/v8.gni. 2017-01-26 20:18:58 +00:00
docs
gni Make sure a pure list of headers is never turned into a static library 2017-02-13 08:43:43 +00:00
gypfiles [build] Fix gyp files for building inspector 2017-03-02 09:55:56 +00:00
include FunctionEntryHook: require no-snapshot build 2017-03-14 12:31:03 +00:00
infra [build] Add v8gen support for PPC/s390 architecture 2017-03-13 15:05:51 +00:00
samples Reland of land "Turn libbase into a component" (patchset #1 id:1 of https://codereview.chromium.org/2396933002/ ) 2016-10-07 07:56:52 +00:00
src [heap] Remove IsSweepingCompleted(AllocationSpace) 2017-03-16 13:44:07 +00:00
test [wasm] [interpreter] Throw exception on trap 2017-03-16 12:01:15 +00:00
testing Use GTEST_LANG_CXX11 in V8 2016-07-25 13:06:42 +00:00
third_party Adapt String::find method via StringUtil adapter. 2017-02-03 22:17:24 +00:00
tools Add missing sub-repository in update_node.py. 2017-03-16 12:54:55 +00:00
.clang-format [clang-format] Don't derive pointer alignment 2017-01-17 09:28:19 +00:00
.gitignore Alpha-sort .gitignore. 2017-03-13 06:44:25 +00:00
.gn [build] Add v8gen support for PPC/s390 architecture 2017-03-13 15:05:51 +00:00
.ycm_extra_conf.py Use C++11 / gnu++11, not 0x 2016-03-22 15:24:43 +00:00
AUTHORS Migrate Number constants and undefined to C++ 2017-02-27 08:20:45 +00:00
BUILD.gn [refactor] Separate generated builtins and C++ builtins into separate files 2017-03-16 11:32:01 +00:00
ChangeLog
CODE_OF_CONDUCT.md
codereview.settings
DEPS Update V8 DEPS. 2017-03-16 03:23:00 +00:00
LICENSE
LICENSE.fdlibm Add LICENSE.fdlibm for all the fdlibm imported sources. 2016-06-09 07:17:03 +00:00
LICENSE.strongtalk
LICENSE.v8
LICENSE.valgrind
Makefile Make enabling of CSA verifier a build-time flag 2017-01-27 11:32:27 +00:00
Makefile.android [build] Fix d8-for-Android builds 2016-05-20 12:10:45 +00:00
OWNERS Make clemensh owner (wasm, asmjs and general) 2017-01-13 10:20:44 +00:00
PRESUBMIT.py [test] Enforce tracker prefix for all BUG entries 2017-03-14 16:16:22 +00:00
README.md
snapshot_toolchain.gni Use clang for snapshot_toolchain by default, except on ChromeOS. 2016-08-23 14:04:27 +00:00
WATCHLISTS [inspector] added devtools-reviews@chromium.org in WATCHLISTS for inspector 2016-09-29 15:16:54 +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://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.