• 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
..
runtime-array.cc Loading commit data...
runtime-atomics.cc Loading commit data...
runtime-classes.cc Loading commit data...
runtime-collections.cc Loading commit data...
runtime-compiler.cc Loading commit data...
runtime-date.cc Loading commit data...
runtime-debug.cc Loading commit data...
runtime-forin.cc Loading commit data...
runtime-function.cc Loading commit data...
runtime-futex.cc Loading commit data...
runtime-generator.cc Loading commit data...
runtime-i18n.cc Loading commit data...
runtime-internal.cc Loading commit data...
runtime-interpreter.cc Loading commit data...
runtime-json.cc Loading commit data...
runtime-literals.cc Loading commit data...
runtime-liveedit.cc Loading commit data...
runtime-maths.cc Loading commit data...
runtime-numbers.cc Loading commit data...
runtime-object.cc Loading commit data...
runtime-observe.cc Loading commit data...
runtime-operators.cc Loading commit data...
runtime-proxy.cc Loading commit data...
runtime-regexp.cc Loading commit data...
runtime-scopes.cc Loading commit data...
runtime-simd.cc Loading commit data...
runtime-strings.cc Loading commit data...
runtime-symbol.cc Loading commit data...
runtime-test.cc Loading commit data...
runtime-typedarray.cc Loading commit data...
runtime-uri.cc Loading commit data...
runtime-utils.h Loading commit data...
runtime.cc Loading commit data...
runtime.h Loading commit data...