commit | 1a80bfc1d571a25021918715f01bdce8c2a2de1c | [log] [tgz] |
---|---|---|
author | Igor Sheludko <ishell@chromium.org> | Sun May 01 16:08:28 2022 |
committer | V8 LUCI CQ <v8-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon May 02 06:02:44 2022 |
tree | f6b03f6b7e1b5feb9cf8a2ab36baff940f0112c9 | |
parent | b6ef3733dd03ff20b830111534a9442857204383 [diff] |
Revert "Reland "[heap] Store size with invalidated object"" This reverts commit 23b2d571a71dbe2802dccaf4bf7dac621816109f. Reason for revert: Breaks the V8 roll https://ci.chromium.org/ui/p/chromium/builders/try/linux-rel/1000394/ Original change's description: > Reland "[heap] Store size with invalidated object" > > This is a reland of commit 5d235def262de77cab15aaec75e28bf41d8e0bf7 > > The previous version of this CL got reverted because the cached > size of an invalidated object wasn't up-to-date when performing a GC. > > Not all size changes go through NotifyObjectLayoutChange, so > https://crrev.com/c/3607992 introduced NotifyObjectSizeChange as a > bottleneck for object size changes/right-trimming. This method is > now used to update the size of invalidated objects. > > Original change's description: > > [heap] Store size with invalidated object > > > > When updating pointers during a full GC, a page might not be swept > > already. In such cases there might be invalid objects and slots recorded > > in free memory. Updating tagged slots in free memory is fine even though > > it is superfluous work. > > > > However, the GC also needs to calculate the size of potentially dead > > invalid objects in order to be able to check whether a slot is within > > that object. But since that object is dead, its map might be dead as > > well which makes size calculation impossible on such objects. The CL > > changes this to cache the size of invalid objects. A follow-up CL will > > also check the marking bit of invalid objects. > > > > Bug: v8:12578, chromium:1316289 > > Change-Id: Ie773d0862a565982957e0dc409630d76552d1a32 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599482 > > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > > Reviewed-by: Jakob Linke <jgruber@chromium.org> > > Reviewed-by: Patrick Thier <pthier@chromium.org> > > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#80169} > > Bug: v8:12578, chromium:1316289 > Change-Id: I1f7c6070b8e7d116aeb1a8d03d4f87927ab40872 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3608632 > Reviewed-by: Jakob Linke <jgruber@chromium.org> > Reviewed-by: Patrick Thier <pthier@chromium.org> > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/main@{#80262} Bug: v8:12578, chromium:1316289 Change-Id: I88b73ebe09bb923ba4ac57b0dbdceb08a1badd99 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3616730 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Auto-Submit: Igor Sheludko <ishell@chromium.org> Owners-Override: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/main@{#80291}
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
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/*
Please follow the instructions mentioned at v8.dev/docs/contribute.