• Mu Tao's avatar
    [mips]Reland^2 "[runtime] Move Context::native_context to the map" · d8ba2856
    Mu Tao authored
    Port 3cad6bf5
    
    Original Commit Message:
    
        This is a reland of c7c47c68.
    
        This makes TSAN happy in addition to:
    
        Previously I presumed that the context read from a frame in the profiler was
        a valid context. Turns out that on non-intel we're not guaranteed that the
        frame is properly set up. In the case we looked at, the profiler took a
        sample right before writing the frame marker indicating a builtin frame,
        causing the "context" pointer from that frame to be a bytecode array. Since
        we'll read random garbage on the stack as a possible context pointer, I made
        the code reading the native context from it a little more defensive.
    
        Bug: v8:9860
        Tbr: ulan@chromium.org, neis@chromium.org, ishell@chromium.org
    
        Original change's description:
        > [runtime] Move Context::native_context to the map
        >
        > Remove the native context slot from contexts by making context maps
        > native-context-specific. Now we require 2 loads to go from a context to the
        > native context, but we have 1 field fewer to store when creating contexts.
        >
        > Change-Id: I3c0d7c50c94060c4129db684f46a567de6f30e8d
        > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859629
        > Commit-Queue: Toon Verwaest <verwaest@chromium.org>
        > Reviewed-by: Igor Sheludko <ishell@chromium.org>
        > Reviewed-by: Peter Marshall <petermarshall@chromium.org>
        > Reviewed-by: Maya Lekova <mslekova@chromium.org>
        > Reviewed-by: Georg Neis <neis@chromium.org>
        > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
        > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
        > Cr-Commit-Position: refs/heads/master@{#64296}
    
    R=xwafish@gmail.com
    
    Change-Id: I6496a8c5be8cbabf48cddc2d59111410f31eb75f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1868774
    Auto-Submit: Mu Tao <pamilty@gmail.com>
    Commit-Queue: Bill Budge <bbudge@chromium.org>
    Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#64486}
    d8ba2856
macro-assembler-mips.h 46.3 KB