Chromium Code Reviews
DescriptionOilpan: Count # of collected Persistent handles and use it to estimate live object size
Currently the estimation of the live object size is broken in many ways. This CL makes the estimation more reasonable.
The basic idea is as follows:
1) We keep track of the number of allocated and deallocated persistent handles.
2) When completeSweep() is finished, we estimate the heap size per existing persistent handle. The estimated value is recorded in |heapSizePerPersistent|. Also, we record |allocatedObjectSize| + |markedObjectSize| + |PartitionAlloc::commitedSize| into |liveObjectSizeAtLastSweep|.
3) When scheduleGCIfNeeded() is called, we estimate the live object size with the following formula:
Estimated live object size = |liveObjectSizeAtLastSweep| - (# of persistent handles that have deallocated since last collectGarbage()) * |heapSizePerPersistent|
BUG=474470
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=198821
Patch Set 1 #Patch Set 2 : #Patch Set 3 : #Patch Set 4 : #Patch Set 5 : #
Total comments: 17
Patch Set 6 : #Patch Set 7 : #Patch Set 8 : #
Messages
Total messages: 19 (4 generated)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||