1. 27 Jan, 2020 1 commit
    • Peter Marshall's avatar
      [inspector] Add a test for const declaration and side effects · 73f4ac62
      Peter Marshall authored
      Add a test that does the same thing the devtools-frontend does when
      evaluating console inputs.
      
      1) Declare a const variable with throwOnSideEffect=true. This should
      throw.
      2) Declare the same const variable with throwOnSideEffect=false.
      This should successfully declare the variable.
      
      Previously it could be the case that even though we threw in 1), the
      variable would fail to be initialized in 2) with a re-declaration
      error.
      
      Bug: chromium:1043151
      Change-Id: I1a6126b518f7bb3788c39b9f8e3adb8850aa962a
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2016587
      Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      Reviewed-by: 's avatarSimon Zünd <szuend@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65991}
      73f4ac62
  2. 22 Jan, 2020 1 commit
  3. 21 Jan, 2020 1 commit
  4. 18 Dec, 2019 1 commit
    • Simon Zünd's avatar
      Store JSMessageObject on rejected promises · b15c02d0
      Simon Zünd authored
      When V8 throws an uncaught exception, we store a JSMessageObject
      with a stack trace and source positions on the isolate itself.
      The JSMessageObject can be retrieved by a TryCatch scope
      and is used by the inspector to provide additional information to the DevTools
      frontend (besides the exception).
      
      Introducing top-level await for REPL mode causes all thrown exceptions
      to be turned into a rejected promise. The implicit catch block that does this
      conversion clears the JSMessageObject from the isolate as to not leak memory.
      
      This CL preserves the JSMessageObject when the debugger is active and stores
      the JSMessageObject on the rejected promise itself. The inspector is changed
      to retrieve the JSMessageObject in the existing catch handler and pass the
      information along to the frontend.
      
      Drive-by: This CL removes a inspector test that made assumptions when a promise
      is cleaned up by the GC. These assumptions no longer hold since we hold on to
      the promise longer.
      
      Bug: chromium:1021921
      Change-Id: Id0380e2cf3bd79aca05191bc4f3c616f6ced8db7
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1967375
      Commit-Queue: Simon Zünd <szuend@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65497}
      b15c02d0
  5. 06 Nov, 2019 1 commit