v8/test
Dominik Inführ 23b2d571a7 Reland "[heap] Store size with invalidated object"
This is a reland of commit 5d235def26

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}
2022-04-28 15:35:09 +00:00
..
benchmarks [tests] Skip slow tests on certain configurations 2022-01-31 13:52:22 +00:00
bigint [bigint][test] Better random input generation 2021-09-08 15:39:27 +00:00
cctest Reland "[heap] Store size with invalidated object" 2022-04-28 15:35:09 +00:00
common Reland "[rwx][mac] Support fast W^X permission switching on Apple Silicon (M1)" 2022-04-28 14:08:11 +00:00
debugger [ic] name Set/Define/Store property operations more consistently 2022-03-08 18:48:16 +00:00
debugging [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
fuzzer [liftoff] Move more options into LiftoffOptions 2022-04-19 16:21:21 +00:00
fuzzilli
inspector [wasm] Fix termination on breakpoint 2022-04-27 19:58:41 +00:00
intl [intl] NumberFormat v3 sync w/ spec PR 85 and 91 2022-04-26 20:50:43 +00:00
js-perf-test Reland "[interpreter] Optimize strict equal boolean" 2022-04-25 10:02:05 +00:00
memory [snapshot] Fix the Memory.json benchmark 2021-04-28 07:54:34 +00:00
message [error] Improve error message for array spread 2022-04-15 01:23:54 +00:00
mjsunit [maglev] Float64 box/unbox elision 2022-04-28 13:17:48 +00:00
mkgrokdump [py3] Bump v8heapconstants.py and related files 2022-04-04 13:27:13 +00:00
mozilla [test] Clean up Py2 code 2022-03-17 09:12:36 +00:00
test262 [Temporal] Add PlainDateTime.from 2022-04-27 23:39:04 +00:00
torque Reland "Reland "[Torque] Generalize Torque literals to larger size"" 2022-02-04 09:40:24 +00:00
unittests Reland "[rwx][mac] Support fast W^X permission switching on Apple Silicon (M1)" 2022-04-28 14:08:11 +00:00
wasm-api-tests [test] Clean up Py2 code 2022-03-17 09:12:36 +00:00
wasm-js [wasm] Disable limits test on Android 2022-04-28 12:53:38 +00:00
wasm-spec-tests [wasm] Remove SIMD proposal tests 2022-04-28 05:22:59 +00:00
webkit [test] Disable failing MSVC test 2021-12-01 15:51:59 +00:00
BUILD.gn Reland^2 "[bigint] Karatsuba multiplication" 2021-06-07 11:01:14 +00:00
OWNERS