DescriptionIntroduce a new phantom weakness type without finalization callback.
Handles of this type are automatically reset by the garbage collector
when their objects are not longer reachable.
The motivation is to reduce pause time of external.weak_global_handles
phase of the garbage collector by not maintaing the list of pending
callbacks and not calling the callbacks.
Local testing on discourse page of the v8.inifinite_scroll benchmark
shows 7x improvement for this GC phase.
Before:
external.weak_global_handles
len: 21
min: 0.0
max: 4.5
avg: 0.757142857143
After:
external.weak_global_handles
len: 21
min: 0.0
max: 0.5
avg: 0.109523809524
A follow-up patch will enable the new phantom handles in Chromium.
BUG=chromium:608333
LOG=NO
Committed: https://crrev.com/a6da98d86ffab7e1e50319ed12b57fcb366e24ee
Cr-Commit-Position: refs/heads/master@{#36095}
Patch Set 1 #Patch Set 2 : Fix a bug with encoding #Patch Set 3 : Rebase and use freed up bit for encoding #Patch Set 4 : comment #
Messages
Total messages: 18 (8 generated)
|