content: Add asyncCollectGarbage to GCController

Adds an async GC call to GCController which is used from asyncGC() during layout
tests.

Currently the async GC calls a regular V8 GC which schedules a precise Oilpan GC
as followup. In a unified GC world a V8 GC runs both, V8's GC and Oilpan, with
the difference that it has to conservatively scan the stack as Oilpan is not run
from the event loop. This is fixed by posting a task and calling a V8 GC
indicating that there's no relevant stack present.

Bug: chromium:843903
Change-Id: I411d63df4aa61b51928aded86d998ad78af35a1e
Reviewed-on: https://chromium-review.googlesource.com/1236074
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593503}
5 files changed