v8/test/unittests/heap
Omer Katz 5b9889d921 Reland "Reland "cppgc, heap: Don't eagerly allocate worklist segments""
This is a reland of f25cb50a2f

Removed the problematic tests.
The problem with the test was that we try to pop from an empty segment.
GCC flags that as accessing beyond the array (i.e. index is uint16_t
equivalent of -1). Preceding the actual pop is a DCHECK that asserts
the segment isn't empty. In practice, since we have the DCHECK and
access to the segment is always via a Local, this shouldn't be a
problem.
Unfortunately, GCC flags the access regardless. The DCHECK goes through
a function pointer so GCC cannot determine that in our unittest the
DCHECK would crash if index is 0 and the access would not happen (The
indirection was added to allow for test DCHECK handlers that don't
crash, so we can't mark the function pointer as noreturn).

Drive-by: Segment::Pop and Segment::Push rely on the their Local
counterparts checking of emptiness/fullness, so we should always
access segments via Locals. Making the Segment ctor private.

Original change's description:
> Reland "cppgc, heap: Don't eagerly allocate worklist segments"
>
> This is a reland of c99147c65e
>
> Original change's description:
> > cppgc, heap: Don't eagerly allocate worklist segments
> >
> > Bug: chromium:1056170
> > Change-Id: I75a6b5f52bfe8dd71abc086e5d1e060759ad7fc0
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391254
> > Commit-Queue: Omer Katz <omerkatz@chromium.org>
> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#69778}
>
> Bug: chromium:1056170
> Change-Id: I4633da065976a6b2710d2f23b946fd2af0e65c83
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2401425
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Commit-Queue: Omer Katz <omerkatz@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69806}

Bug: chromium:1056170
Change-Id: I7a122d1a2d20cd4e7c824d249975b4d3df30e03e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403251
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69829}
2020-09-10 22:26:25 +00:00
..
base Reland "Reland "cppgc, heap: Don't eagerly allocate worklist segments"" 2020-09-10 22:26:25 +00:00
cppgc cppgc, heap: Merge worklist implementations 2020-09-09 13:05:55 +00:00
allocation-observer-unittest.cc [heap] Support removing of observers during Step() 2020-08-17 10:42:32 +00:00
barrier-unittest.cc Reland "[d8] Remove maximum workers limitation" 2019-07-30 07:56:17 +00:00
bitmap-test-utils.h [heap] Relax accessing markbits in ranges. 2019-02-25 15:28:41 +00:00
bitmap-unittest.cc [heap] Fix an out-of-bounds access in the marking bitmap 2020-04-20 09:07:57 +00:00
code-object-registry-unittest.cc [heap] Split out paged-spaces.h 2020-05-14 19:25:25 +00:00
embedder-tracing-unittest.cc [unittests] Convert to the new MOCK_METHOD macro. 2020-06-10 15:50:38 +00:00
gc-idle-time-handler-unittest.cc [heap] Clean up GCIdleTimeHandler. 2020-02-26 10:43:14 +00:00
gc-tracer-unittest.cc [heap, tracing] Use WorkerThreadRuntimeCallStatsScope in background GC 2019-08-29 15:55:48 +00:00
heap-controller-unittest.cc [heap] Introduce a min heap size and skip GCs below that threshold 2019-06-06 15:49:50 +00:00
heap-unittest.cc [heap] Enforce safepoint in unittest when iterating chunks 2020-09-03 12:43:10 +00:00
heap-utils.h Reland "cppgc,heap: Implement atomic unified heap GC" 2020-06-17 11:02:38 +00:00
item-parallel-job-unittest.cc [heap] Do not emit background GC trace events on the main thread 2019-07-18 08:56:58 +00:00
js-member-unittest.cc cppgc: Add basic operations for JSMember 2020-07-23 20:57:13 +00:00
list-unittest.cc [heap] Make Heap::Contains const 2020-05-13 13:19:22 +00:00
local-factory-unittest.cc [offthread] Change OffThreadIsolate to LocalIsolate 2020-08-14 10:57:27 +00:00
local-heap-unittest.cc [heap] Implement LocalHeap::Current using thread_local 2020-07-07 16:17:01 +00:00
marking-unittest.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
marking-worklist-unittest.cc [heap] Split marking worklist into global worklist and local worklists 2020-08-11 13:15:54 +00:00
memory-reducer-unittest.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
object-start-bitmap-unittest.cc [heap] Add object start bitmap for conservative stack scanning 2020-08-31 07:10:36 +00:00
object-stats-unittest.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
persistent-handles-unittest.cc [handles] Make DetachPersistent insert into ordered_blocks_ 2020-08-05 12:03:52 +00:00
safepoint-unittest.cc Reland "[heap] Allow LocalHeap on the main thread" 2020-07-10 11:22:19 +00:00
slot-set-unittest.cc [heap] Verify filler slots don't need clearing 2020-04-28 16:24:45 +00:00
spaces-unittest.cc [offthread] Change OffThreadIsolate to LocalIsolate 2020-08-14 10:57:27 +00:00
unified-heap-unittest.cc Reland "cppgc,heap: Implement atomic unified heap GC" 2020-06-17 11:02:38 +00:00
unmapper-unittest.cc [heap] Reenable UnmapOnTeardown test 2020-08-04 10:38:34 +00:00
worklist-unittest.cc [v8 heap]: Track GlobalSize in worklist. 2020-02-07 16:12:30 +00:00