1. 06 Sep, 2022 1 commit
  2. 01 Sep, 2022 1 commit
  3. 04 Aug, 2022 1 commit
  4. 08 Jul, 2022 1 commit
  5. 17 Nov, 2021 1 commit
  6. 12 Oct, 2021 1 commit
  7. 27 Sep, 2021 1 commit
  8. 21 Apr, 2021 1 commit
  9. 26 Feb, 2021 1 commit
  10. 06 Jan, 2021 1 commit
  11. 27 Oct, 2020 1 commit
  12. 10 Sep, 2019 1 commit
  13. 28 May, 2019 1 commit
  14. 23 May, 2019 2 commits
  15. 21 May, 2019 1 commit
  16. 08 May, 2019 1 commit
    • Pierre Langlois's avatar
      [ic] Do not decode instructions to detect deoptimized code. · 0d8ec36b
      Pierre Langlois authored
      This fixes a crash when using --trace-ic on Arm64 debug. For a given return
      address, the assembler's `target_address_from_return_address()` method will
      displace it to give you the call-site address. However, this is fragile because
      it needs to decode the instruction stream to distinguish between different call
      sequences. So it triggered an assertion on Arm64 because we now use BL for
      builtin to buitin calls.
      
      We only use this when tracing IC states to detect if the caller is a deoptimized
      function. But to do this it doesn't matter if the address we have is the return
      or the call-site address. So we can just remove the need for the fragile
      Assembler method.
      
      As a drive-by, also remove `return_address_from_call_start()` which was doing
      the opposite and was unused.
      
      Change-Id: I5988d17eadd1652ed85d662e62bc4c579665dd31
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1594566
      Commit-Queue: Pierre Langlois <pierre.langlois@arm.com>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61337}
      0d8ec36b
  17. 02 May, 2019 1 commit
  18. 30 Apr, 2019 2 commits
  19. 29 Apr, 2019 2 commits
  20. 07 Feb, 2019 1 commit
  21. 06 Feb, 2019 1 commit
  22. 23 Jan, 2019 1 commit
    • Jakob Gruber's avatar
      [arm] Add missing RELATIVE_CODE_TARGET iteration · b766299d
      Jakob Gruber authored
      Code object iteration was missing logic for RELATIVE_CODE_TARGET
      reloc entries. Garbage collection could thus miss objects that were
      referenced only as targets of pc-relative calls or jumps.
      
      RELATIVE_CODE_TARGETs are only used on arm, mips, and s390 and only
      at mksnapshot-time.
      
      This exposed another issue in that the interpreter entry trampoline
      copy we generate for profiling *did* contain relative calls in
      runtime-accessible code. This is a problem, since code space on arm is,
      by default, too large to be fully addressable through pc-relative
      calls. This CL thus also disables the related
      FLAG_interpreted_frames_native_stack feature on arm.
      
      Drive-by: Ensure the builtins constants table does not contain Code
      objects.
      
      Bug: v8:8713,v8:6666
      Change-Id: Idd914b46970ad08f9091fc72113fa7aed2732e71
      Reviewed-on: https://chromium-review.googlesource.com/c/1424866Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59023}
      b766299d
  23. 08 Jan, 2019 1 commit
  24. 20 Dec, 2018 1 commit
  25. 12 Dec, 2018 1 commit
  26. 12 Nov, 2018 1 commit
  27. 05 Nov, 2018 1 commit
  28. 31 Oct, 2018 3 commits
  29. 23 Aug, 2018 1 commit
  30. 17 Aug, 2018 1 commit
  31. 07 Aug, 2018 1 commit
  32. 24 Jul, 2018 1 commit
  33. 09 Jul, 2018 1 commit
    • Sigurd Schneider's avatar
      [turbofan] Use relative calls/jumps on arm for builtins · 23dbb81d
      Sigurd Schneider authored
      This CL uses pc-relative jumps and calls (B/BL) for calls from embedded
      builtins to embedded builtins. To make this work, the code range size is
      limited to 32MB on arm during mksnapshot, which ensures that all builtin
      to builtin offsets for jumps/calls fit into the B/BL immediate. At code
      generation time, we put a placeholder into the instruction offset which
      we resolve to the right code object when the code is copied to the heap.
      We use a new relocation mode RELATIVE_CODE_TARGET for these relative jumps.
      The relocation mode RELATIVE_CODE_TARGET should never appear after
      generating the snapshot.
      
      We modify the target_address/set_target_address methods of RelocInfo
      such that they return the absolute target addresses for pc-relative B/BL
      instructions. This ensures that the GC can treat RELATIVE_CODE_TARGET in
      the same way as code targets. This, however, only matters during
      snapshot creation time, and production code never contains
      RELATIVE_CODE_TARGET relocations.
      
      Bug: v8:6666
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Change-Id: If7eab83ad588859ca87c654a5ddc3e37caea884c
      Reviewed-on: https://chromium-review.googlesource.com/1117181Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54320}
      23dbb81d
  34. 22 Jun, 2018 1 commit
  35. 01 Jun, 2018 1 commit