1. 12 Aug, 2016 1 commit
    • yangguo's avatar
      [debugger] separate break point info from code instrumentation. · b8c05042
      yangguo authored
      Previously, we would both instrument the code, and add/remove
      BreakPointInfo objects through BreakLocation. This is bad design and
      unsuitable for having two different code kinds.
      
      We would now add/remove BreakPointInfo objects, and use that as source
      of truth when instrumenting the code. If we have both bytecode and FCG
      code, we would simply apply these break points twice to either.
      
      Notable changes:
      - Removed many functionality from BreakLocation.
      - Instrumentation (patching code for breaks) happens by applying break
        point info onto code.
      - Instrumentation (code patching) is done by the BreakIterator. For
        bytecode, it's BytecodeArrayBreakIterator. For FCG code, it's
        CodeBreakIterator.
      - Changes to code instrumentation mostly involves clearing current
        instrumentation and then (re-)applying break points.
      - DebugInfo can now reference both bytecode and FCG code.
      
      R=jgruber@chromium.org, mstarzinger@chromium.org
      BUG=v8:5265
      
      Review-Url: https://codereview.chromium.org/2238893002
      Cr-Commit-Position: refs/heads/master@{#38596}
      b8c05042
  2. 11 Aug, 2016 1 commit
  3. 09 Aug, 2016 1 commit
  4. 05 Aug, 2016 2 commits
  5. 26 Jul, 2016 3 commits
  6. 21 Jul, 2016 1 commit
  7. 20 Jul, 2016 1 commit
  8. 19 Jul, 2016 3 commits
  9. 18 Jul, 2016 1 commit
  10. 15 Jul, 2016 1 commit
  11. 14 Jul, 2016 2 commits
  12. 13 Jul, 2016 1 commit
  13. 08 Jul, 2016 1 commit
  14. 04 Jul, 2016 1 commit
    • jgruber's avatar
      [builtins] Add receiver to builtin exit frames · f59a2335
      jgruber authored
      Stack trace generation requires access to the receiver; and while the
      receiver is already on the stack, we cannot determine its position
      during stack trace generation (it's stored in argv[0], and argc is only
      stored in a callee-saved register).
      
      This patch grants access to the receiver by pushing argc onto builtin
      exit frames as an extra argument. Compared to simply pushing the
      receiver, this requires an additional dereference during stack trace
      generation, but one fewer during builtin calls.
      
      BUG=v8:4815
      
      Review-Url: https://codereview.chromium.org/2106883003
      Cr-Commit-Position: refs/heads/master@{#37500}
      f59a2335
  15. 01 Jul, 2016 2 commits
  16. 30 Jun, 2016 1 commit
    • jgruber's avatar
      [builtins] New frame type for exits to C++ builtins · 5febc27b
      jgruber authored
      Prior to this commit, calls to C++ builtins created standard exit
      frames, which are skipped when constructing JS stack traces. In order to
      show these calls on traces, we introduce a new builtin exit frame type.
      
      Builtin exit frames contain target and new.target on the stack and are
      not skipped during stack trace construction.
      
      BUG=v8:4815
      R=bmeurer@chromium.org, yangguo@chromium.org
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel;tryserver.v8:v8_linux_nosnap_dbg
      
      Committed: https://crrev.com/3c60c6b105f39344f93a8407f41534e5e60cf19a
      Review-Url: https://codereview.chromium.org/2090723005
      Cr-Original-Commit-Position: refs/heads/master@{#37384}
      Cr-Commit-Position: refs/heads/master@{#37416}
      5febc27b
  17. 29 Jun, 2016 2 commits
  18. 21 Jun, 2016 2 commits
  19. 17 Jun, 2016 3 commits
  20. 14 Jun, 2016 1 commit
  21. 09 Jun, 2016 2 commits
  22. 07 Jun, 2016 1 commit
    • mvstanton's avatar
      Avoid creating weak cells for literal arrays that are empty of literals. · 3cfcc7e1
      mvstanton authored
      It may be that we have a feedback vector, but no literals. In this case
      we can store into the OptimizedCodeMap directly instead of using a WeakCell,
      because all data in the feedback vector is already held weakly.
      
      The use of a WeakCell in the OptimizedCodeMap is only required when
      there are literals which may hold maps strongly.
      
      This is to address a performance regression caused by the creation of
      a large number of WeakCells.
      
      BUG=chromium:615831
      
      Review-Url: https://codereview.chromium.org/2031123003
      Cr-Commit-Position: refs/heads/master@{#36786}
      3cfcc7e1
  23. 03 Jun, 2016 1 commit
  24. 24 May, 2016 1 commit
  25. 19 May, 2016 1 commit
    • rmcilroy's avatar
      [Interpreter] Support compiling for baseline on return from interpreted function. · f241a61a
      rmcilroy authored
      We cannot tier up from interpreted to baseline code when there is an
      activation of the function on the stack. This significantly regresses
      the performance of recursive functions since they are unlikely to get
      tiered up.
      
      This CL adds the ability for a function to be marked for baseline
      compilation when it returns. To do this we patch the
      InterpreterEntryTrampoline return address to point to
      InterpreterMarkBaselineOnReturn, which leaves the
      interpreted frame and recompile the function for
      baseline.
      
      This improves the score of EarlyBoyer by ~8x for Ignition.
      
      BUG=v8:4280
      LOG=N
      
      Review-Url: https://codereview.chromium.org/1965343002
      Cr-Commit-Position: refs/heads/master@{#36360}
      f241a61a
  26. 18 May, 2016 1 commit
  27. 17 May, 2016 2 commits