• Michael Lippautz's avatar
    [heap] Introduce separate pass for reseting phantom handles on Scavenge · da5a8e3d
    Michael Lippautz authored
    Resetting phantom handles while keeping finalizers alive leads to the
    problem of eagerly resetting a handle although another finalizer keeps
    it (transitively) alive.
    
    This becomes a problem with internal pointers to Blink as without
    global handle a Blink GC is free to collect wrappables.
    
    This CL untangles finalizers handling from phantom handle resets by
    introducing a separate path for resetting.
    
    CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
    
    Bug: chromium:781728
    Change-Id: Ica138b72942698fd996c6e9fe0bdc19cc432c010
    Reviewed-on: https://chromium-review.googlesource.com/753724
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#49162}
    da5a8e3d
global-handles.cc 34.5 KB