1. 24 May, 2018 1 commit
    • Jaroslav Sevcik's avatar
      [generators] Store parameters in the generator object. · ea7499f5
      Jaroslav Sevcik authored
      Currently, we context allocate all parameters for generators.
      
      With this CL, we keep arguments on stack (unless they escape to inner
      closure) and copy them between the stack and the generator's register
      file on suspend/resume. This will save context allocation in most cases.
      
      Note: There is an asymmetry between suspend and resume.
      - Suspend copies arguments and registers to the generator.
      - Resume copies only the registers from the generator, the arguments
        are copied by the ResumeGenerator trampoline.
      
      Bug: v8:5164
      Change-Id: I6333898c60abf461b1ab1b5c6d3dc7188fa95649
      Reviewed-on: https://chromium-review.googlesource.com/1063712
      Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53327}
      ea7499f5
  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. 06 Jul, 2016 1 commit
    • neis's avatar
      [debugger] Don't leak holes from generator arguments. · 45a81674
      neis authored
      This is a quick fix for the hole leaking from generators via the debugger's frame
      inspection feature: when collecting the arguments, convert each hole to undefined.
      In the long term, we probably want to remember and restore the actual arguments
      rather than pushing these dummy arguments on each resume.
      
      BUG=v8:5164
      
      Review-Url: https://codereview.chromium.org/2122923003
      Cr-Commit-Position: refs/heads/master@{#37544}
      45a81674