1. 27 May, 2020 1 commit
    • George Wort's avatar
      [turbolizer] Display live ranges with sequences · 0282737d
      George Wort authored
      Display register allocation live ranges alongside sequences in
      turbolizer.
      
      The existing --trace-turbo flag now also outputs the register
      allocation data as part of the json file alongside the
      instruction sequence data that is already produced before and
      after register allocation is performed. This data includes live
      range intervals for each virtual and fixed register and the state
      of their assignments.
      
      This json data can now be displayed in turbolizer alongside the
      instruction sequences. The information is presented as a grid,
      with each grid cell representing a LifeTimePosition of a certain
      virtual register, determined by the column and row indices
      respectively. Each LifeTimePosition is shown to be part of an
      instruction id which itself is shown to be part of a block id.
      Each interval is shown as a coloured rectangle positioned over
      the relevant cells, and displaying text to indicate the state of
      their assignment.
      
      The Resizer object has been extended to allow the grid's html
      panel to be varied in size in the same manner that the left and
      right panels can be. The size of the grid itself must also be
      adjusted whenever the div container changes size.
      
      The RangeView class is introduced and is created and held by the
      single SequenceView object used to display the
      InstructionSequence data before and after register allocation.
      A checkbox allows the user to show/hide the range view, this is
      disabled when register allocation data is not provided or more
      than 249 instructions are in the sequence. The latter being
      required due to the css grid-row-col limit of 1000 alond with
      helping alleviate performance issues. The SequenceView object
      tracks the phase index currently selected as well as whether or
      not it is currently being shown. This ensures that the RangeView
      is not hidden and shown when switching between before and after
      register allocation, allowing for a smoother transition between
      the two. The scroll position is also saved and restored for
      convenience.
      
      The data about the instruction sequence required for the display
      is held by the RangeView object and reset whenever a new
      instruction sequence is shown. The grid div must sync its scroll
      with the headers and row labels so as to ensure a consistent
      view. The register allocation data is extracted from the json,
      with each register row showing all intervals within the relevant
      ranges. When the view is switched between before and after
      register allocation, the relevant intervals are swapped in.
      
      Bug: v8:7327
      Notry: true
      Change-Id: I183535a2410a7d663382f387199885250fb98691
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2184232Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarSantiago Aboy Solanes <solanes@chromium.org>
      Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#68019}
      0282737d
  2. 24 May, 2019 1 commit
  3. 23 May, 2019 1 commit
  4. 01 Apr, 2019 1 commit
  5. 21 Nov, 2018 1 commit
  6. 08 Oct, 2018 1 commit
  7. 04 Oct, 2018 1 commit
  8. 17 Sep, 2018 1 commit
  9. 02 Aug, 2018 1 commit
  10. 13 Jun, 2018 1 commit
  11. 18 May, 2018 1 commit
  12. 16 May, 2018 1 commit
  13. 14 May, 2018 1 commit
    • Pierre Langlois's avatar
      [turbofan][wasm] Fix --trace-turbo with compiling a WASM function. · 7927d646
      Pierre Langlois authored
      The --trace-turbo flag would cause a crash when compiling a WASM_FUNCTION. It
      was caused by assuming the OptimizedCompilationInfo had a SharedFunctionInfo
      attached if the code isn't a stub and wasm functions are not considered as such.
      
      In order to test this, we've added a new flag to specify were to dump JSON
      files: --trace-turbo-path. This is used to make sure we do not leave lots of
      files behind in the top-level directory. It should be useful as standalone
      feature too.
      
      
      Change-Id: Ia9442638d28100bea45a8683fb233803cc5393f2
      Reviewed-on: https://chromium-review.googlesource.com/1030555
      Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53153}
      7927d646
  14. 04 Apr, 2018 1 commit
  15. 05 Sep, 2017 1 commit
  16. 17 Oct, 2016 1 commit
  17. 25 Jul, 2016 2 commits
  18. 13 May, 2016 1 commit
  19. 11 Jan, 2016 1 commit
  20. 11 Dec, 2015 1 commit
  21. 06 May, 2015 1 commit
  22. 20 Apr, 2015 1 commit
  23. 03 Feb, 2015 1 commit
  24. 29 Jan, 2015 1 commit
  25. 24 Nov, 2014 1 commit
  26. 14 Oct, 2014 1 commit
  27. 30 Sep, 2014 1 commit
  28. 25 Sep, 2014 1 commit
  29. 30 Jul, 2014 1 commit