1. 05 Jul, 2018 1 commit
  2. 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
  3. 07 May, 2018 1 commit
  4. 06 Apr, 2018 1 commit
  5. 21 Mar, 2018 1 commit
  6. 26 Feb, 2018 1 commit
  7. 06 Dec, 2017 1 commit
  8. 16 Oct, 2017 1 commit
  9. 14 Oct, 2017 1 commit
  10. 13 Oct, 2017 1 commit
  11. 01 Sep, 2017 1 commit
  12. 17 Aug, 2017 3 commits
    • Ross McIlroy's avatar
      Reland "[Compiler] Remove CompileDebugCode and EnsureBytecode and replace with Compile" · 73ec5598
      Ross McIlroy authored
      This is a reland of 21da12a9
      Original change's description:
      > [Compiler] Remove CompileDebugCode and EnsureBytecode and replace with Compile
      > 
      > Removes the Compiler::CompileDebugCode and Compiler::EnsureBytecode functions
      > and replaces them with a Compiler::Compile(Handle<SharedFunctionInfo> shared)
      > function. The code in compiler.cc is refactored to use this function to compile
      > the SharedFunctionInfo when compiling a JSFunction.
      > 
      > Also does some other cleanup:
      >  - Removes CompileUnoptimizedFunction and inlines into new Compiler function
      >  - Moves code to create top level SharedFunctionInfo into CompilerTopLevel and
      >    out of FinalizeUnoptimizedCompile.
      > 
      > BUG=v8:6409
      > 
      > Change-Id: Ic54afcd8eb005c17f3ae6b2355060846e3091ca3
      > Reviewed-on: https://chromium-review.googlesource.com/613760
      > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47394}
      
      TBR=yangguo@chromium.org
      TBR=jarin@chromium.org
      
      Bug: v8:6409
      Change-Id: If2eae66a85f129e746a5ca5c04935540f3f86b04
      Reviewed-on: https://chromium-review.googlesource.com/618886Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47399}
      73ec5598
    • Ross McIlroy's avatar
      Revert "[Compiler] Remove CompileDebugCode and EnsureBytecode and replace with Compile" · 0f40415b
      Ross McIlroy authored
      This reverts commit 21da12a9.
      
      Reason for revert: Failing on arm64 simulator
      
      Original change's description:
      > [Compiler] Remove CompileDebugCode and EnsureBytecode and replace with Compile
      > 
      > Removes the Compiler::CompileDebugCode and Compiler::EnsureBytecode functions
      > and replaces them with a Compiler::Compile(Handle<SharedFunctionInfo> shared)
      > function. The code in compiler.cc is refactored to use this function to compile
      > the SharedFunctionInfo when compiling a JSFunction.
      > 
      > Also does some other cleanup:
      >  - Removes CompileUnoptimizedFunction and inlines into new Compiler function
      >  - Moves code to create top level SharedFunctionInfo into CompilerTopLevel and
      >    out of FinalizeUnoptimizedCompile.
      > 
      > BUG=v8:6409
      > 
      > Change-Id: Ic54afcd8eb005c17f3ae6b2355060846e3091ca3
      > Reviewed-on: https://chromium-review.googlesource.com/613760
      > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47394}
      
      TBR=rmcilroy@chromium.org,yangguo@chromium.org,jarin@chromium.org,leszeks@chromium.org
      
      Change-Id: I4ba63e82417a185f1528ff2633eb6c8872fbbfe5
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6409
      Reviewed-on: https://chromium-review.googlesource.com/618687Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47397}
      0f40415b
    • Ross McIlroy's avatar
      [Compiler] Remove CompileDebugCode and EnsureBytecode and replace with Compile · 21da12a9
      Ross McIlroy authored
      Removes the Compiler::CompileDebugCode and Compiler::EnsureBytecode functions
      and replaces them with a Compiler::Compile(Handle<SharedFunctionInfo> shared)
      function. The code in compiler.cc is refactored to use this function to compile
      the SharedFunctionInfo when compiling a JSFunction.
      
      Also does some other cleanup:
       - Removes CompileUnoptimizedFunction and inlines into new Compiler function
       - Moves code to create top level SharedFunctionInfo into CompilerTopLevel and
         out of FinalizeUnoptimizedCompile.
      
      BUG=v8:6409
      
      Change-Id: Ic54afcd8eb005c17f3ae6b2355060846e3091ca3
      Reviewed-on: https://chromium-review.googlesource.com/613760
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47394}
      21da12a9
  13. 03 Aug, 2017 1 commit
  14. 18 Jul, 2017 1 commit
  15. 14 Jul, 2017 1 commit
    • Alexey Kozyatinskiy's avatar
      [inspector] improve return position of explicit return in non-async function · 08965860
      Alexey Kozyatinskiy authored
      Goal of this CL: explicit return from non-async function has position after
      return expression as return position (will unblock [1]).
      
      BytecodeArrayBuilder has SetStatementPosition and SetExpressionPosition methods.
      If one of these methods is called then next generated bytecode will get passed
      position. It's general treatment for most cases.
      Unfortunately it doesn't work for Returns:
      - debugger requires source positions exactly on kReturn bytecode in stepping
        implementation,
      - BytecodeGenerator::BuildReturn and BytecodeGenerator::BuildAsyncReturn
        generates more then one bytecode and general solution will put return position
        on first generated bytecode,
      - it's not easy to split BuildReturn function into two parts to allow something
        like following in BytecodeGenerator::VisitReturnStatement since generated
        bytecodes are actually controlled by execution_control().
      ..->BuildReturnPrologue();
      ..->SetReturnPosition(stmt);
      ..->Return();
      
      In this CL we pass ReturnStatement through ExecutionControl and use it for
      position when we emit return bytecode right here.
      
      So this CL only will improve return position for returns inside of non-async
      functions, I'll address async functions later.
      
      [1] https://chromium-review.googlesource.com/c/543161/
      
      Change-Id: Iede512c120b00c209990bf50c20e7d23dc0d65db
      Reviewed-on: https://chromium-review.googlesource.com/560738
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46687}
      08965860
  16. 02 May, 2017 1 commit
  17. 28 Apr, 2017 1 commit
  18. 27 Mar, 2017 1 commit
  19. 22 Feb, 2017 1 commit
  20. 04 Feb, 2017 1 commit
  21. 02 Feb, 2017 1 commit
  22. 26 Jan, 2017 3 commits
  23. 19 Dec, 2016 1 commit
  24. 14 Dec, 2016 1 commit
  25. 29 Nov, 2016 3 commits
  26. 23 Nov, 2016 1 commit
  27. 22 Nov, 2016 1 commit
  28. 21 Nov, 2016 2 commits
    • yangguo's avatar
      [debugger] remove obsolete test. · 330ecc82
      yangguo authored
      This test tests a code path that's being deprecated. There is no point
      in migrating it to the new debugger API.
      
      R=jgruber@chromium.org
      BUG=v8:5530
      
      Review-Url: https://codereview.chromium.org/2519033002
      Cr-Commit-Position: refs/heads/master@{#41146}
      330ecc82
    • jgruber's avatar
      [debug-wrapper] Adapt tests, breakpoint.actual_location · 1834ab72
      jgruber authored
      Adapted various tests to restrictions of inspector protocol:
      
      * osr-typing-debug-change: Don't set function variable value.
      * debug-evaluate-locals: Add variable introduced by eval, run typeof
        inside evaluate().
      * regress-419663: Don't set duplicate breakpoints.
      * regress-crbug-465298: Compare against function name instead of value.
      * regress-crbug-621361: Make evaluate return string results.
      * debug-script: Various counts were off due to new way tests are called.
                      Added new inspector script type.
      
      Breakpoints now contain the actual break position, and remote object
      reconstruction has been extended a bit.
      
      BUG=v8:5530
      
      Review-Url: https://codereview.chromium.org/2505363002
      Cr-Commit-Position: refs/heads/master@{#41129}
      1834ab72
  29. 17 Nov, 2016 2 commits
  30. 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
  31. 11 Nov, 2016 1 commit
    • jgruber's avatar
      [debug-wrapper] Conditional breaks, locals, evaluate, scopes · b32ee40d
      jgruber authored
      This CL adds support for:
      * conditional breaks in setBreakpoint,
      * locals in frame.local{Count,Name,Value},
      * evaluation on a frame in frame.evaluate,
      * and more detailed scope information in scopeObject.
      
      Uses of several functions that are not covered by the
      inspector protocol and are only used in tests have been removed.
      
      Local handling has been modified to also include arguments as locals.
      Inspector differs in this regard from our FrameDetails in that
      arguments are always shown as locals. Argument-related functions
      were removed.
      
      BUG=v8:5530
      
      Review-Url: https://codereview.chromium.org/2491543002
      Cr-Commit-Position: refs/heads/master@{#40917}
      b32ee40d
  32. 09 Nov, 2016 1 commit