• 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
Name
Last commit
Last update
..
benchmarks Loading commit data...
cctest Loading commit data...
fuzzer Loading commit data...
intl Loading commit data...
js-perf-test Loading commit data...
memory Loading commit data...
message Loading commit data...
mjsunit Loading commit data...
mozilla Loading commit data...
preparser Loading commit data...
promises-aplus Loading commit data...
simdjs Loading commit data...
test262 Loading commit data...
unittests Loading commit data...
webkit Loading commit data...
bot_default.gyp Loading commit data...
bot_default.isolate Loading commit data...
default.gyp Loading commit data...
default.isolate Loading commit data...
ignition.gyp Loading commit data...
ignition.isolate Loading commit data...
optimize_for_size.gyp Loading commit data...
optimize_for_size.isolate Loading commit data...
perf.gyp Loading commit data...
perf.isolate Loading commit data...