b689f838ba07e42645fdc27ad5d0e957d7830075
This CL fixes the --gc-interval command line flag which was supposed to trigger GCs more frequently. Since this was not really happening, we might now trigger GCs in more locations and thus might flush out some pre-existing issues. In the linked bug --gc-interval was not triggering GCs because AllocateRawWith() was invoking AllocateRaw() twice without performing a GC in-between. Assuming allocation_timeout_ was 1 before the first call to AllocateRaw(), the first call to AllocateRaw() decreased the counter to 0. AllocateRawWith() then invokes AllocateRaw() again at the beginning of AllocateRawWithLightRetrySlowPath(). In the second call allocation_timeout_ is then 0, AllocateRaw() therefore assumes the allocation timeout is disabled and the second allocation subsequently succeeds. This CL fixes this by turning allocation_timeout_ into base::Optional<int>. With this change both invocations of AllocateRaw() observe the allocation timeout as enabled and both invocations let the allocation fail because of this. Bug: 346197733 Change-Id: Ic5987a9fb83320a145b04271e5631e50410c3572 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5613990 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Darius Mercadier <dmercadier@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#94357}
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.
Description
The bare minimum headers from v8 required to build sandstorm from source.
https://chromium.googlesource.com/v8/v8.git
931 MiB
0 Stars
1 Watchers
0 Forks
Languages
Markdown
100%