• Junliang Yan's avatar
    PPC/s390: Reland "[turboassembler] Introduce hard-abort mode" · a27871d5
    Junliang Yan authored
    Port d324382e
    
    and
    
    Port bd3f0a68
    
    Original Commit Message:
    
        This is a reland of a462a785
    
        Original change's description:
        > [turboassembler] Introduce hard-abort mode
        >
        > For checks and assertions (mostly for debug code, like stack alignment
        > or zero extension), we had two modes: Emit a call to the {Abort}
        > runtime function (the default), and emit a debug break (used for
        > testing, enabled via --trap-on-abort).
        > In wasm, where we cannot just call a runtime function because code must
        > be isolate independent, we always used the trap-on-abort behaviour.
        > This causes problems for our fuzzers, which do not catch SIGTRAP, and
        > hence do not detect debug code failures.
        >
        > This CL introduces a third mode ("hard abort"), which calls a C
        > function via {ExternalReference}. The C function still outputs the
        > abort reason, but does not print the stack trace. It then aborts via
        > "OS::Abort", just like the runtime function.
        > This will allow fuzzers to detect the crash and even find a nice error
        > message.
        >
        > Even though this looks like a lot of code churn, it is actually not.
        > Most added lines are new tests, and other changes are minimal.
        >
        > R=mstarzinger@chromium.org
        >
        > Bug: chromium:863799
        > Change-Id: I77c58ff72db552d49014614436259ccfb49ba87b
        > Reviewed-on: https://chromium-review.googlesource.com/1142163
        > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
        > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
        > Cr-Commit-Position: refs/heads/master@{#54592}
    
    R=clemensh@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
    BUG=
    LOG=N
    
    Change-Id: I60023470fa07576fd313f628ade06e279d5f4927
    Reviewed-on: https://chromium-review.googlesource.com/1165822
    Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
    Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54980}
    a27871d5
Name
Last commit
Last update
..
api Loading commit data...
asmjs Loading commit data...
assembler Loading commit data...
base Loading commit data...
compiler Loading commit data...
compiler-dispatcher Loading commit data...
heap Loading commit data...
interpreter Loading commit data...
libplatform Loading commit data...
parser Loading commit data...
torque Loading commit data...
wasm Loading commit data...
zone Loading commit data...
BUILD.gn Loading commit data...
DEPS Loading commit data...
allocation-unittest.cc Loading commit data...
bigint-unittest.cc Loading commit data...
cancelable-tasks-unittest.cc Loading commit data...
char-predicates-unittest.cc Loading commit data...
code-stub-assembler-unittest.cc Loading commit data...
code-stub-assembler-unittest.h Loading commit data...
counters-unittest.cc Loading commit data...
detachable-vector-unittest.cc Loading commit data...
eh-frame-iterator-unittest.cc Loading commit data...
eh-frame-writer-unittest.cc Loading commit data...
locked-queue-unittest.cc Loading commit data...
object-unittest.cc Loading commit data...
register-configuration-unittest.cc Loading commit data...
run-all-unittests.cc Loading commit data...
source-position-table-unittest.cc Loading commit data...
strings-storage-unittest.cc Loading commit data...
test-helpers.cc Loading commit data...
test-helpers.h Loading commit data...
test-utils.cc Loading commit data...
test-utils.h Loading commit data...
testcfg.py Loading commit data...
unicode-unittest.cc Loading commit data...
unittests.status Loading commit data...
utils-unittest.cc Loading commit data...
value-serializer-unittest.cc Loading commit data...