• Junliang Yan's avatar
    PPC/s390: Reland "[cpu-profiler] Fix stack iterability for fast C calls with no exit frame" · 9583858e
    Junliang Yan authored
    Port 6c8b4102
    
    Original Commit Message:
    
        This is a reland of d5f4a33e
        Landing with test disabled for now.
    
        Original change's description:
        > [cpu-profiler] Fix stack iterability for fast C calls with no exit frame
        >
        > Before fast C calls, store the current FP and PC on the isolate. When
        > iterating frames in SafeStackFrameIterator, check if these fields are
        > set and start iterating at the calling frame's FP instead of the current
        > FP, which will be in C++ code. We need to do this because c_entry_fp is
        > not set on the Isolate for Fast-C-Calls because we don't build an exit
        > frame.
        >
        > This change makes stack samples that occur within 'Fast-C-Calls'
        > iterable, meaning we can properly attribute ticks within the JS caller.
        >
        > Fast-C-Calls can't call back into JS code, so we can only ever have one
        > such call on the stack at a time, allowing us to store the FP on the
        > isolate rather than the stack.
        >
        > TBR=v8-mips-ports@googlegroups.com
        >
        > Bug: v8:8464, v8:7202
        > Change-Id: I7bf39eba779dad34754d5759d741c421b362a406
        > Reviewed-on: https://chromium-review.googlesource.com/c/1340241
        > Commit-Queue: Peter Marshall <petermarshall@chromium.org>
        > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
        > Reviewed-by: Martyn Capewell <martyn.capewell@arm.com>
        > Reviewed-by: Alexei Filippov <alph@chromium.org>
        > Cr-Commit-Position: refs/heads/master@{#57896}
    
    R=petermarshall@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
    BUG=
    LOG=N
    
    Change-Id: Ie82eaa08ba6ceeb0c0a5bb4de251540becf1f05e
    Reviewed-on: https://chromium-review.googlesource.com/c/1361422Reviewed-by: 's avatarJoran Siu <joransiu@ca.ibm.com>
    Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
    Cr-Commit-Position: refs/heads/master@{#58025}
    9583858e
macro-assembler-ppc.cc 93.4 KB