• ulan's avatar
    Introduce a new phantom weakness type without finalization callback. · a6da98d8
    ulan authored
    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
    
    Review-Url: https://codereview.chromium.org/1950963002
    Cr-Commit-Position: refs/heads/master@{#36095}
    a6da98d8
global-handles.h 14.6 KB