1. 24 May, 2017 1 commit
    • kozyatinskiy's avatar
      [inspector] removed call break location from for-of loop · fb78710c
      kozyatinskiy authored
      There are two break locations at the same source location by desugaring:
      - call iterator.next,
      - before variable assignment.
      
      Additionally location for for..of loops is moved from before "of" to before each variable expression.
      
      We should not report first implicit call to avoid user confusion. User still able to go into .next function with both scenarios:
      - when this call is reached by stepOver or stepInto from previous line,
      - when this call is reached because of breakpoint at current line.
      
      BUG=v8:6425
      R=dgozman@chromium.org,jgruber@chromium.org
      
      Review-Url: https://codereview.chromium.org/2893313002
      Cr-Commit-Position: refs/heads/master@{#45509}
      fb78710c
  2. 16 Nov, 2016 1 commit
    • jgruber's avatar
      [debug-wrapper] Further extend the debug wrapper · b06c4ce5
      jgruber authored
      This CL further extends the debug wrapper, migrates around 60 tests, and
      removes a few tests that use functionality we will not support anymore.
      
      In more detail:
      
      * Removed tests that use:
        * enable/disable individual breakpoints
        * invocationText()
        * the ScriptCollected event
        * showBreakPoints
        * evalFromScript (and similar)
        * mirror.constructedBy and mirror.referencedBy
        * event_data.promise()
      * Some frame.evaluate uses were adapted since due to differences between
        remote objects (inspector) and mirrors. For instance, exceptions are
        currently not recreated exactly, since the inspector protocol does not
        give us the stack and message separately. Other objects (such as
        'this' in debug-evaluate-receiver-before-super) need to be explicitly
        converted to a string before the test works correctly.
      * Ensure that inspector stores the script before sending ScriptParsed and
        ScriptFailedToParse events in order to be able to use the script from
        within those events.
      * Better remote object reconstruction (e.g. for undefined and arrays).
      * New functionality in wrapper:
        * debuggerFlags().breakPointsActive.setValue()
        * scripts()
        * execState.setVariableValue()
        * execState.scopeObject().value()
        * execState.scopeObject().property()
        * execState.frame().allScopes()
        * eventData.exception()
        * eventData.script()
        * setBreakPointsActive()
      
      BUG=v8:5530
      
      Review-Url: https://codereview.chromium.org/2497973002
      Cr-Commit-Position: refs/heads/master@{#41019}
      b06c4ce5
  3. 25 Apr, 2016 1 commit
  4. 11 Mar, 2016 1 commit
    • vogelheim's avatar
      Fix expression positions for for-loops. · de4f3d3e
      vogelheim authored
      FullCodegen generates 2 statement positions for the loop init block, like so:
      
        for(var i = 0; i....
            ^   ^
      
      This change removes the first of those, updates unit tests,
      and removes text expectations for Ignition.
      
      ---
      An alternative would be to emulate the existing behaviour in Ignition, but:
      - The new behaviour seems more logical,
      - Ignition generates no bytecodes for the 'var', meaning there is no code position to attach the break position to.
      
      BUG=v8:4690
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1784883002
      
      Cr-Commit-Position: refs/heads/master@{#34717}
      de4f3d3e
  5. 07 Mar, 2016 3 commits
  6. 01 Mar, 2016 1 commit
    • yangguo's avatar
      [debugger] fix break locations for assignments and return. · d9fe836d
      yangguo authored
      We used to emit debug break location on block entry. This cannot be
      ported to the interpreted as we do not emit bytecode for block entry.
      This made no sense to begin with though, but accidentally added
      break locations for var declarations.
      
      With this change, the debugger no longer breaks at var declarations
      without initialization. This is in accordance with the fact that the
      interpreter does not emit bytecode for uninitialized var declarations.
      
      Also fix the bytecode to match full-codegen's behavior wrt return
      positions:
      - there is a break location before the return statement, with the source
        position of the return statement.
      - right before the actual return, there is another break location. The
        source position points to the end of the function.
      
      R=rmcilroy@chromium.org, vogelheim@chromium.org
      TBR=rossberg@chromium.org
      BUG=v8:4690
      LOG=N
      
      Review URL: https://codereview.chromium.org/1744123003
      
      Cr-Commit-Position: refs/heads/master@{#34388}
      d9fe836d
  7. 16 Dec, 2015 1 commit
  8. 02 Dec, 2015 1 commit
  9. 24 Aug, 2015 1 commit
  10. 07 Jul, 2015 1 commit
  11. 06 Jul, 2015 1 commit
  12. 01 Jul, 2015 1 commit
  13. 21 May, 2015 1 commit
    • dslomov's avatar
      [destructuring] Grand for statement parsing unification. · 7ffdb519
      dslomov authored
      Also support patterns in ``for (var p in/of ...)``
      
      This CL extends the rewriting we used to do for ``for (let p in/of...)`` to
      ``for (var p in/of ...)``. For all for..in/of loop declaring variable,
      we rewrite
         for (var/let/const pattern in/of e) b
      into
         for (x' in/of e) { var/let/const pattern = e; b }
      
      This adds a small complication for debugger: for a statement
         for (var v in/of e) ...
      we used to have
         var v;
         for (v in/of e) ...
      and there was a separate breakpoint on ``var v`` line.
      This breakpoint is actually useless since it is immediately followed by
      a breakpoint on evaluation of ``e``, so this CL removes that breakpoint
      location.
      
      Similiraly, for let, it used to be that
        for (let v in/of e) ...
      became
        for (x' in/of e) { let v; v  = x'; ... }
      ``let v``generetaed a useless breakpoint (with the location at the
      loop's head. This CL removes that breakpoint as well.
      
      R=arv@chromium.org,rossberg@chromium.org
      BUG=v8:811
      LOG=N
      
      Review URL: https://codereview.chromium.org/1149043005
      
      Cr-Commit-Position: refs/heads/master@{#28565}
      7ffdb519
  14. 12 Nov, 2014 1 commit
  15. 10 Nov, 2014 2 commits