1. 31 Aug, 2016 2 commits
    • adamk's avatar
      Remove CONST_LEGACY VariableMode · 7516fe1e
      adamk authored
      The only remaining use of this VariableMode is for the names of sloppy
      named function expressions. This patch instead uses CONST for such
      bindings (just as we do in strict mode) and instead marks those
      Variables specially. During code generation a new helper method,
      Variable::throw_on_const_assignment(), is called to decide whether
      to throw or silently ignore the assignment.
      
      Review-Url: https://codereview.chromium.org/2233673003
      Cr-Commit-Position: refs/heads/master@{#39052}
      7516fe1e
    • marja's avatar
      Separate CompilationInfo into its own file. · 06451354
      marja authored
      This way, many files which only need CompilationInfo but not compiler.h
      and its dependencies can include just compilation-info.h.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2284313003
      Cr-Commit-Position: refs/heads/master@{#39038}
      06451354
  2. 26 Aug, 2016 2 commits
  3. 12 Aug, 2016 1 commit
  4. 10 Aug, 2016 1 commit
  5. 08 Aug, 2016 1 commit
  6. 04 Aug, 2016 1 commit
  7. 03 Aug, 2016 2 commits
  8. 02 Aug, 2016 4 commits
  9. 01 Aug, 2016 3 commits
  10. 28 Jul, 2016 1 commit
  11. 25 Jul, 2016 2 commits
  12. 19 Jul, 2016 1 commit
    • mstarzinger's avatar
      [turbofan] Allow deopt reasons without source positions. · ca727047
      mstarzinger authored
      This allows to pass deoptimization reasons to the profiler without the
      requirement of always providing a source position. The absence of deopt
      reasons is now communicated via a sentinel as the deopt id value. The
      deoptimization reasons recently added to TurboFan are now passed to the
      profiler.
      
      R=bmeurer@chromium.org
      TEST=cctest/test-cpu-profiler
      
      Review-Url: https://codereview.chromium.org/2159793002
      Cr-Commit-Position: refs/heads/master@{#37852}
      ca727047
  13. 18 Jul, 2016 1 commit
    • bmeurer's avatar
      [turbofan] Add support for eager/soft deoptimization reasons. · db635d5b
      bmeurer authored
      So far TurboFan wasn't adding the deoptimization reasons for eager/soft
      deoptimization exits that can be used by either the DevTools profiler or
      the --trace-deopt flag. This adds basic support for deopt reasons on
      Deoptimize, DeoptimizeIf and DeoptimizeUnless nodes and threads through
      the reasons to the code generation.
      
      Also moves the DeoptReason to it's own file (to resolve include cycles)
      and drops unused reasons.
      
      R=jarin@chromium.org
      
      Review-Url: https://codereview.chromium.org/2161543002
      Cr-Commit-Position: refs/heads/master@{#37823}
      db635d5b
  14. 15 Jul, 2016 1 commit
  15. 12 Jul, 2016 1 commit
  16. 11 Jul, 2016 1 commit
  17. 09 Jul, 2016 2 commits
  18. 08 Jul, 2016 2 commits
  19. 06 Jul, 2016 1 commit
    • lpy's avatar
      Expose TickSample and its APIs in v8-profiler.h · 3172f6a9
      lpy authored
      We want to eventually move the profiling functionality out of V8 as library,
      this patch exposes TickSample and its APIs in v8-profiler.h so that when
      embedders use library, they can have more details.
      
      Minor change: Rename tick-sample.[h|cc] to simulator-helper.[h|cc].
      
      BUG=v8:4789
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2105943002
      Cr-Commit-Position: refs/heads/master@{#37564}
      3172f6a9
  20. 04 Jul, 2016 1 commit
    • lpy's avatar
      Split Ticker into two samplers. · 3ca49d9a
      lpy authored
      Currently there are two logic in Ticker, one is to try to request a
      pre-allocated TickSample from CpuProfiler and then initialize it, and if the
      request fails, it will initialize a local TickSample. The other is it will pass
      an initialized TickSample to Profiler to log into v8.log.
      
      This patch splits Ticker into two samplers, the first one remains in log.cc to
      collect samples and pass to Profiler for logging, the second one will be called
      by ProfilerEventsProcessor, and only use the circular queue only.
      
      BUG=v8:4789
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2108393002
      Cr-Commit-Position: refs/heads/master@{#37506}
      3ca49d9a
  21. 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
  22. 29 Jun, 2016 4 commits
  23. 28 Jun, 2016 2 commits
  24. 22 Jun, 2016 1 commit
    • lpy's avatar
      [Reland] Refactor CpuProfiler. · 04f710ac
      lpy authored
      Currently CpuProfiler is a subclass of CodeEventListener, it listens code events
      from Logger, constructs and stores CodeEventsContainer. This patch is part of
      the effort to split the logic of CodeEventListener as ProfilerListener out of
      the profiling functionality logic in CpuProfiler. A ProfilerListener will listen
      to code events, construct code event to CodeEventsContainer and pass it to code
      event handler.
      
      The reason we refactor CpuProfiler is that eventually we want to move
      CpuProfiler as part of sampler library and code event listener should stay
      inside V8.
      
      Main changes:
      1. Refactored CpuProfiler into two parts, the CpuProfiler with profling
      functionality and the ProfilerListener listening to code events from Logger.
      2. Created CodeEventObserver and made CpuProfiler inherit from it.
      ProfilerListener will have a list of observers and call CodeEventHandler once a
      code event is created.
      3. Moved code entry list from CodeEntry to ProfilerListener.
      
      Minor changes:
      1. Moved static code entry as part of CodeEntry.
      2. Added ProfilerListener to Logger.
      
      BUG=v8:4789
      
      Committed: https://crrev.com/cb59fc1facc9b390e2c7544b4da56a4e0a9b3222
      Review-Url: https://codereview.chromium.org/2053523003
      Cr-Original-Commit-Position: refs/heads/master@{#37112}
      Cr-Commit-Position: refs/heads/master@{#37195}
      04f710ac
  25. 20 Jun, 2016 1 commit
    • lpy's avatar
      Revert of Refactor CpuProfiler. (patchset #13 id:240001 of... · d6be0bf6
      lpy authored
      Revert of Refactor CpuProfiler. (patchset #13 id:240001 of https://codereview.chromium.org/2053523003/ )
      
      Reason for revert:
      MIPS compilation error.
      
      Original issue's description:
      > Refactor CpuProfiler.
      >
      > Currently CpuProfiler is a subclass of CodeEventListener, it listens code events
      > from Logger, constructs and stores CodeEventsContainer. This patch is part of
      > the effort to split the logic of CodeEventListener as ProfilerListener out of
      > the profiling functionality logic in CpuProfiler. A ProfilerListener will listen
      > to code events, construct code event to CodeEventsContainer and pass it to code
      > event handler.
      >
      > The reason we refactor CpuProfiler is that eventually we want to move
      > CpuProfiler as part of sampler library and code event listener should stay
      > inside V8.
      >
      > Main changes:
      > 1. Refactored CpuProfiler into two parts, the CpuProfiler with profling
      > functionality and the ProfilerListener listening to code events from Logger.
      > 2. Created CodeEventObserver and made CpuProfiler inherit from it.
      > ProfilerListener will have a list of observers and call CodeEventHandler once a
      > code event is created.
      > 3. Moved code entry list from CodeEntry to ProfilerListener.
      >
      > Minor changes:
      > 1. Moved static code entry as part of CodeEntry.
      > 2. Added ProfilerListener to Logger.
      >
      > BUG=v8:4789
      >
      > Committed: https://crrev.com/cb59fc1facc9b390e2c7544b4da56a4e0a9b3222
      > Cr-Commit-Position: refs/heads/master@{#37112}
      
      TBR=alph@chromium.org,jochen@chromium.org,yangguo@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4789
      
      Review-Url: https://codereview.chromium.org/2079273003
      Cr-Commit-Position: refs/heads/master@{#37113}
      d6be0bf6