v8/test
Dominik Inführ 34da5f5b5b Reland^3: [heap] Store size with invalidated object
This is a reland of commit 2b79eefed3

A DCHECK was using map[key] and inadvertently inserted into the map
that way.

Original change's description:
> Reland^2: [heap] Store size with invalidated object
>
> This is a reland of commit 23b2d571a7
>
> 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 not strictly necessary.
>
> 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.
>
> Reason for reverts:
>
> Revert #2: In-object slack tracking on JSObjects doesn't update the
> cached size of invalidated objects. The fix here was to stop
> invalidating recorded slots on JSObjects at all and avoid that problem
> completely (see https://crrev.com/c/3620274).
>
> Revert #1: 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.
>
> Bug: v8:12578, chromium:1316289
> Change-Id: I0478d04601c0270ddb39419ca6cf98719951eb4d
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3623542
> 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@{#80344}

Bug: v8:12578, chromium:1316289
Change-Id: Ibcc04c209213c584860a7c473082526cb4e53c59
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3627635
Reviewed-by: Patrick Thier <pthier@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80542}
2022-05-16 09:25:16 +00:00
..
benchmarks Skipping benchmarks/octane/typescript on NumFuzz until the issue is fixed 2022-05-13 09:45:18 +00:00
bigint [bigint][test] Better random input generation 2021-09-08 15:39:27 +00:00
cctest Reland^3: [heap] Store size with invalidated object 2022-05-16 09:25:16 +00:00
common [wasm-simd] Prototype Relaxed Rounding Q-format Multiplication 2022-05-11 16:10:32 +00:00
debugger [flags] Rename --opt to --turbofan 2022-05-03 12:10:30 +00:00
debugging [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
fuzzer [sandbox] Turn V8_SANDBOX into V8_ENABLE_SANDBOX 2022-05-13 16:23:23 +00:00
fuzzilli Fix unhandled promise rejections in REPRL mode 2020-09-30 13:34:23 +00:00
inspector Reland "[inspector] Re-enable Debugger#restartFrame" 2022-05-14 09:32:14 +00:00
intl [flags] Rename --opt to --turbofan 2022-05-03 12:10:30 +00:00
js-perf-test [js-perf-test] add microbenchmarks for (Object|Reflect).getOwnPropertyDescriptor 2022-05-05 14:15:55 +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 [rab/gsab] Fix memory size computations close to size_t limit 2022-05-16 09:13:38 +00:00
mkgrokdump [sandbox] Turn V8_SANDBOX into V8_ENABLE_SANDBOX 2022-05-13 16:23:23 +00:00
mozilla [test] Clean up Py2 code 2022-03-17 09:12:36 +00:00
test262 [Temporal] Implement the iso8601 part of Calendar.prototype.era(Year)? 2022-05-13 09:01:23 +00:00
torque Reland "Reland "[Torque] Generalize Torque literals to larger size"" 2022-02-04 09:40:24 +00:00
unittests heap: Recalculate the object start bitmap if needed 2022-05-16 08:48:56 +00:00
wasm-api-tests [test] Clean up Py2 code 2022-03-17 09:12:36 +00:00
wasm-js [wasm] Update spec tests 2022-05-12 12:34:21 +00:00
wasm-spec-tests [wasm] Update spec tests 2022-05-12 12:34:21 +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 Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00