1. 21 May, 2019 1 commit
    • Simon Zünd's avatar
      Reland "[stack-trace] Include API functions in Error.stack stack trace" · 193a2617
      Simon Zünd authored
      This is a reland of 3dd56612
      
      The reland introduces a new flag "--experimental-stack-trace-frames".
      The flag is disabled by default, but enabled for relevant tests.
      The flag stays disabled by default until API frames are eagerly
      symbolized to prevent leaks in blink web tests.
      
      Original change's description:
      > [stack-trace] Include API functions in Error.stack stack trace
      >
      > This CL extends Error.stack to include frames of functions declared
      > with the C++ FunctionTemplate API. For example, "print" in d8.
      >
      > Two changes are necessary:
      >   - HandleApiCall and friends need to go through an BUILTIN_EXIT frame
      >     instead of an EXIT frame. The existing stack-trace machinery will
      >     then pick up FunctionTemplate frames without additional changes.
      >   - Turbofan doesn't go through HandleApiCall, but instead uses an
      >     ASM builtin to enter FunctionTemplate functions. A "marker"
      >     frame state is needed to include these frames in the stack trace.
      >
      > Note: This CL only includes these frames in Error.stack,
      > but not (yet) in the stack-trace API (v8.h).
      >
      > Bug: v8:8742,v8:6802
      > Change-Id: Ic0631af883cf56e0d0122a2e0c54e36fed324d91
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609835
      > Commit-Queue: Simon Zünd <szuend@chromium.org>
      > Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#61602}
      
      Bug: v8:8742, v8:6802
      Change-Id: I1d3b79cdf0b2edcbaeff1ec15e10deeca725f017
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621925Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Commit-Queue: Simon Zünd <szuend@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61683}
      193a2617
  2. 20 May, 2019 1 commit
    • Yang Guo's avatar
      Revert "[stack-trace] Include API functions in Error.stack stack trace" · 5cc9f9bc
      Yang Guo authored
      This reverts commit 3dd56612.
      
      Reason for revert: causes leak tests in blink layout tests to fail: https://ci.chromium.org/p/chromium/builders/ci/WebKit%20Linux%20Trusty%20Leak/34295
      
      Steps to reproduce:
      - Build blink_tests with following GN args
      is_component_build = false
      is_debug = false
      strip_absolute_paths_from_debug_symbols = true
      - Run
      third_party/blink/tools/run_web_tests.py --additional-expectations third_party/blink/web_tests/LeakExpectations --time-out-ms 48000 --enable-leak-detection external/wpt/wasm/webapi/body.any.html
      
      Original change's description:
      > [stack-trace] Include API functions in Error.stack stack trace
      > 
      > This CL extends Error.stack to include frames of functions declared
      > with the C++ FunctionTemplate API. For example, "print" in d8.
      > 
      > Two changes are necessary:
      >   - HandleApiCall and friends need to go through an BUILTIN_EXIT frame
      >     instead of an EXIT frame. The existing stack-trace machinery will
      >     then pick up FunctionTemplate frames without additional changes.
      >   - Turbofan doesn't go through HandleApiCall, but instead uses an
      >     ASM builtin to enter FunctionTemplate functions. A "marker"
      >     frame state is needed to include these frames in the stack trace.
      > 
      > Note: This CL only includes these frames in Error.stack,
      > but not (yet) in the stack-trace API (v8.h).
      > 
      > Bug: v8:8742,v8:6802
      > Change-Id: Ic0631af883cf56e0d0122a2e0c54e36fed324d91
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609835
      > Commit-Queue: Simon Zünd <szuend@chromium.org>
      > Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#61602}
      
      TBR=yangguo@chromium.org,sigurds@chromium.org,jgruber@chromium.org,bmeurer@chromium.org,szuend@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: v8:8742, v8:6802
      Change-Id: I4942cd32c6ee5e249dae046eea6b9b2f7120b8ba
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617933Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarSimon Zünd <szuend@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61639}
      5cc9f9bc
  3. 17 May, 2019 1 commit