• littledan's avatar
    Make RUNTIME_ASSERT have more useful output in debug mode · 78d84530
    littledan authored
    Runtime asserts are were previously a bit annoying to debug, due to
    the lack of a useful error message, even in debug mode. This patch
    prints out some more information in debug mode for runtime assert
    failures while preserving their exception-throwing semantics. While
    we're at it, it requires a semicolon after RUNTIME_ASSERT macro
    invocations.
    
    ```
    $ rlwrap out/Debug/d8 --allow-natives-syntax
    V8 version 5.1.0 (candidate)
    d8> %ArrayBufferNeuter(1)
    
    #
    # Runtime error in ../../src/runtime/runtime-typedarray.cc, line 52
    #
    # args[0]->IsJSArrayBuffer()
    
    ==== C stack trace ===============================
    
     1: 0xf70ab5
     2: 0xadeebf
     3: 0xadedd4
     4: 0x2ef17630693b
    (d8):1: illegal access
    %ArrayBufferNeuter(1)
    ^
    
    d8>
    ```
    
    Also give the other 'illegal access' case (a special SyntaxError type) a more
    descriptive error message for its sole usage.
    
    R=adamk
    
    Review URL: https://codereview.chromium.org/1748183002
    
    Cr-Commit-Position: refs/heads/master@{#34401}
    78d84530
Name
Last commit
Last update
benchmarks Loading commit data...
build Loading commit data...
docs Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...