• Michael Lippautz's avatar
    global-handles: Fix ASAN fake stack handling · aad7b7ff
    Michael Lippautz authored
    We previously assumed that a fake stack should be mapped back to a
    real stack based on fake-stack offsets. This is not correct: Fake and
    real stack are disjoint and both contain the corresponding slot
    values.
    
    For global handles this means that on-stack handles must be registered
    using their real stack frame base to be able to purge them
    occasionally based on the current stack address.
    
    When dealing with a slot though, the GC can just dereference the slot
    for a value, indeppendent of whether the slot is in a fake or real
    frame.
    
    Drive-by: Fix tests that do not want stack handles by creating
    handles on heap.
    
    Change-Id: I2c86c8e047bd0d48c24c2642b2b4dba284a93909
    Bug: chromium:1139914
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2507720
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70897}
    aad7b7ff
test-global-handles.cc 24.1 KB