1. 27 Apr, 2022 1 commit
  2. 06 Apr, 2022 1 commit
  3. 28 Mar, 2022 1 commit
  4. 23 Mar, 2022 1 commit
  5. 16 Feb, 2022 1 commit
  6. 09 Jul, 2021 1 commit
    • Santiago Aboy Solanes's avatar
      [turbolizer] Solve off-by-one source position error for non-Wasm · 433ff6b9
      Santiago Aboy Solanes authored
      Wasm has the attribute sourceLineToBytecodePosition and adds the source
      lines via setSourceLineToBytecodePosition in which they are 0-based.
      Non-Wasm doesn't have that attribute and uses insertSourcePositions
      which is 1-based. In non-wasm we are being off by one.
      As a note, the sourcePositionsInRange call in insertSourcePositions
      doesn't return a list for Wasm since they rely on
      setSourceLineToBytecodePosition and therefore do not have that
      off-by-one error.
      
      Drive-by: Several elements have the same source position so update
      addHtmlElementToSourcePosition to handle more than one element.
      
      Drive-by: Renames due to having the same name but different
      capitalization, which was confusing.
      
      Bug: v8:7327
      Change-Id: Ie8a066ca629054a5f5a754deec0ed1917bed2b33
      Notry: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3008634Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
      Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75655}
      433ff6b9
  7. 06 Jul, 2021 4 commits
  8. 02 Jun, 2020 1 commit
  9. 01 Jun, 2020 1 commit
  10. 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
  11. 14 May, 2020 1 commit
  12. 04 Dec, 2019 1 commit
  13. 26 Nov, 2019 1 commit
  14. 21 Nov, 2019 1 commit
  15. 20 Nov, 2019 3 commits
  16. 14 Nov, 2019 1 commit
  17. 07 Nov, 2019 1 commit
  18. 04 Nov, 2019 1 commit
  19. 30 Oct, 2019 1 commit
  20. 21 Oct, 2019 2 commits
  21. 17 Oct, 2019 1 commit
  22. 16 Oct, 2019 3 commits
  23. 23 Aug, 2019 2 commits
  24. 09 Aug, 2019 1 commit
  25. 09 Jul, 2019 1 commit
  26. 26 Jun, 2019 1 commit
  27. 07 Jun, 2019 3 commits
  28. 18 Mar, 2019 2 commits