• Milad Farazmand's avatar
    PPC/s390: PPC/s390: Reland^2 "[runtime] Move Context::native_context to the map" · 26539972
    Milad Farazmand authored
    Port 36ab93d8
    
    Original Commit Message:
    
        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=miladfar@ca.ibm.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
    BUG=
    LOG=N
    
    Change-Id: I996a1f5096b34fc556918752224ff51889f0a5ce
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1879443Reviewed-by: 's avatarJunliang Yan <jyan@ca.ibm.com>
    Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
    Cr-Commit-Position: refs/heads/master@{#64570}
    26539972
Name
Last commit
Last update
..
arm Loading commit data...
arm64 Loading commit data...
ia32 Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc Loading commit data...
s390 Loading commit data...
x64 Loading commit data...
DEPS Loading commit data...
OWNERS Loading commit data...
assembler-arch.h Loading commit data...
assembler-inl.h Loading commit data...
assembler.cc Loading commit data...
assembler.h Loading commit data...
bailout-reason.cc Loading commit data...
bailout-reason.h Loading commit data...
callable.h Loading commit data...
code-comments.cc Loading commit data...
code-comments.h Loading commit data...
code-desc.cc Loading commit data...
code-desc.h Loading commit data...
code-factory.cc Loading commit data...
code-factory.h Loading commit data...
code-reference.cc Loading commit data...
code-reference.h Loading commit data...
code-stub-assembler.cc Loading commit data...
code-stub-assembler.h Loading commit data...
compilation-cache.cc Loading commit data...
compilation-cache.h Loading commit data...
compiler.cc Loading commit data...
compiler.h Loading commit data...
constant-pool.cc Loading commit data...
constant-pool.h Loading commit data...
constants-arch.h Loading commit data...
cpu-features.h Loading commit data...
external-reference-table.cc Loading commit data...
external-reference-table.h Loading commit data...
external-reference.cc Loading commit data...
external-reference.h Loading commit data...
flush-instruction-cache.cc Loading commit data...
flush-instruction-cache.h Loading commit data...
handler-table.cc Loading commit data...
handler-table.h Loading commit data...
interface-descriptors.cc Loading commit data...
interface-descriptors.h Loading commit data...
label.h Loading commit data...
machine-type.cc Loading commit data...
machine-type.h Loading commit data...
macro-assembler-inl.h Loading commit data...
macro-assembler.h Loading commit data...
optimized-compilation-info.cc Loading commit data...
optimized-compilation-info.h Loading commit data...
pending-optimization-table.cc Loading commit data...
pending-optimization-table.h Loading commit data...
register-arch.h Loading commit data...
register-configuration.cc Loading commit data...
register-configuration.h Loading commit data...
register.cc Loading commit data...
register.h Loading commit data...
reglist.h Loading commit data...
reloc-info.cc Loading commit data...
reloc-info.h Loading commit data...
safepoint-table.cc Loading commit data...
safepoint-table.h Loading commit data...
signature.h Loading commit data...
source-position-table.cc Loading commit data...
source-position-table.h Loading commit data...
source-position.cc Loading commit data...
source-position.h Loading commit data...
string-constants.cc Loading commit data...
string-constants.h Loading commit data...
tick-counter.cc Loading commit data...
tick-counter.h Loading commit data...
tnode.h Loading commit data...
turbo-assembler.cc Loading commit data...
turbo-assembler.h Loading commit data...
unoptimized-compilation-info.cc Loading commit data...
unoptimized-compilation-info.h Loading commit data...