• Milad Farazmand's avatar
    PPC/s390: Reland^2 "[runtime] Move Context::native_context to the map" · 36ab93d8
    Milad Farazmand 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.
    
        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=verwaest@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
    BUG=
    LOG=N
    
    Change-Id: I48b21f189e782a338eb2508edd57b7b2cf5ce240
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1865607Reviewed-by: 's avatarJunliang Yan <jyan@ca.ibm.com>
    Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
    Cr-Commit-Position: refs/heads/master@{#64362}
    36ab93d8
macro-assembler-ppc.cc 97.1 KB