DescriptionOilpan: Implement marking time estimation
Oilpan schedules GC as idleTask in the Blink scheduler.
When idle, the Blink scheduler notifies Oilpan with a "deadline" timestamp,
and let the idleTask client (Oilpan) decide whether to proceed with
processing the task, or skip processing the task as it may take beyond
the "deadline".
Before this CL, Oilpan idleTask handler didn't implement this decision properly,
and always proceeded with a GC assuming the GC would take 0 ms.
This CL implements a heuristics so that Oilpan GC would only proceed when
it is assumed to finish within the given "deadline".
This CL implements a heuristics assuming that GC would take a linear time
O(N_live_objs). The number of live objects is estimated by taking the ratio of
heap size increase since last gc.
BUG=420515
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=192397
Patch Set 1 #
Total comments: 6
Patch Set 2 : haraken review / rebase #Patch Set 3 : fix ismainthread #
Total comments: 2
Patch Set 4 : Rebased #Messages
Total messages: 16 (4 generated)
|