f583661784
Presently the inline allocation step is a static value defined to be the minimum of the step sizes over all the observers. The step occur every (approx.) step byte. This is unfair to observers whose steps are not evenly divisible by the min step size. For example, consider two observers with steps sizes of 512 and 576 bytes. Across 16kb allocated, you would expect the first observer to be hit approximately 32 times, and the second observer to be hit approximately 28 times. In reality, the observers get notified 30 and 15 times respectively. The reason is that each step is 512 bytes, and since 576 is not evenly divisible by 512, it gets notified much less frequently. This CL fixes the problem by making the next step size be the minimum (over all observers) of the remaining bytes to get to the step, making the steps fair. BUG= R=hpayer@chromium.org,ulan@chromium.org Review URL: https://codereview.chromium.org/1427973006 Cr-Commit-Position: refs/heads/master@{#31948} |
||
---|---|---|
benchmarks | ||
build | ||
docs | ||
include | ||
infra | ||
samples | ||
src | ||
test | ||
testing | ||
third_party/binutils | ||
tools | ||
.clang-format | ||
.gitignore | ||
.ycm_extra_conf.py | ||
AUTHORS | ||
BUILD.gn | ||
ChangeLog | ||
codereview.settings | ||
DEPS | ||
LICENSE | ||
LICENSE.strongtalk | ||
LICENSE.v8 | ||
LICENSE.valgrind | ||
Makefile | ||
Makefile.android | ||
Makefile.nacl | ||
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://code.google.com/p/v8/
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.