1. 10 Mar, 2020 1 commit
    • Milad Farazmand's avatar
      s390: [arm] Add missing RELATIVE_CODE_TARGET iteration · 9d3cca1c
      Milad Farazmand authored
      Port b766299d
      Port 9592b043
      Port d915b8d6
      
      Original Commit Message:
      
          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.
      
          objects.
      
      R=jgruber@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Change-Id: Ifbcaed98d90a2730f0d6a8a7d32c621dab1ff5b2
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2087693Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJunliang Yan <jyan@ca.ibm.com>
      Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#66644}
      9d3cca1c
  2. 09 Mar, 2020 1 commit
    • Dan Elphick's avatar
      [api] Create v8::String::NewFromLiteral that returns Local<String> · b097a8e5
      Dan Elphick authored
      String::NewFromLiteral is a templated function that takes a char[N]
      argument that can be used as an alternative to String::NewFromUtf8 and
      returns a Local<String> rather than a MaybeLocal<String> reducing the
      number of ToLocalChecked() or other checks.
      
      Since the string length is known at compile time, it can statically
      assert that the length is less than String::kMaxLength, which means that
      it can never fail at runtime.
      
      This also converts all found uses of NewFromUtf8 taking a string literal
      or a variable initialized from a string literal to use the new API. In
      some cases the types of stored string literals are changed from const
      char* to const char[] to ensure the size is retained.
      
      This API does introduce a small difference compared to NewFromUtf8. For
      a case like "abc\0def", NewFromUtf8 (using length -1 to infer length)
      would treat this as a 3 character string, whereas the new API will treat
      it as a 7 character string.
      
      As a drive-by fix, this also fixes all redundant uses of
      v8::NewStringType::kNormal when passed to any of the String::New*
      functions.
      
      Change-Id: Id96a44bc068d9c4eaa634aea688e024675a0e5b3
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2089935
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Reviewed-by: 's avatarMathias Bynens <mathias@chromium.org>
      Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66622}
      b097a8e5
  3. 07 Jan, 2020 1 commit
  4. 02 Jan, 2020 1 commit
  5. 05 Nov, 2019 1 commit
  6. 22 Oct, 2019 1 commit
  7. 17 Jun, 2019 1 commit
  8. 04 Jun, 2019 1 commit
  9. 31 May, 2019 1 commit
  10. 24 May, 2019 1 commit
  11. 23 May, 2019 3 commits
  12. 22 May, 2019 1 commit
  13. 21 May, 2019 1 commit
  14. 20 May, 2019 1 commit
  15. 17 May, 2019 3 commits
  16. 16 May, 2019 2 commits
  17. 10 May, 2019 1 commit
  18. 30 Apr, 2019 1 commit
  19. 29 Apr, 2019 2 commits
    • Clemens Hammacher's avatar
      [cleanup] Remove {StrLength} function · 423b357b
      Clemens Hammacher authored
      The {Vector} class does not use it any more. External uses should be
      converted to {size_t} instead of {int}.
      This CL removes the function from vector.h and updates all users to
      either use {size_t}, or cast to {int} explicitly. In tests, no further
      checks are needed if the string is a constant.
      
      R=mstarzinger@chromium.org
      
      Bug: v8:9183
      Change-Id: I60f99302504c74d8a7c79b147ca01d8ba61b6879
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587393Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61092}
      423b357b
    • Clemens Hammacher's avatar
      [cleanup] Use Vector::begin instead of Vector::start · 4b0f9c85
      Clemens Hammacher authored
      Our {Vector} template provides both {start} and {begin} methods. They
      return exactly the same value. Since the {begin} method is needed for
      iteration, and is also what standard containers provide, this CL
      switches all uses of the {start} method to use {begin} instead.
      
      Patchset 1 was auto-generated by using this clang AST matcher:
          callExpr(
              callee(
                cxxMethodDecl(
                  hasName("start"),
                  ofClass(hasName("v8::internal::Vector")))
              ),
              argumentCountIs(0))
      
      Patchset 2 was created by running clang-format. Patchset 3 then
      removes the now unused {Vector::start} method.
      
      R=jkummerow@chromium.org
      TBR=mstarzinger@chromium.org,yangguo@chromium.org,verwaest@chromium.org
      
      Bug: v8:9183
      Change-Id: Id9f01c92870872556e2bb3f6d5667463b0e3e5c6
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587381Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61081}
      4b0f9c85
  20. 23 Apr, 2019 1 commit
  21. 13 Mar, 2019 1 commit
  22. 07 Mar, 2019 1 commit
  23. 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
  24. 21 Jan, 2019 1 commit
    • Peter Marshall's avatar
      [logger] Start cleaning up Logger class · 7da7c0bd
      Peter Marshall authored
      - Use unique ptrs for owned objects
      - Remove friendship with CpuProfiler and replace with public API
      - Remove unused method LogFailure()
      - Remove StopProfiler() which was only used by LogFailure() (removed)
        and one test, which can use StopProfilerThread() instead
      - Remove 'paused' state which was only used by the above
      - Remove 'engage' state. There is no reason we need this as along as
        users keep track of Engage/Disengage calls
      
      Drive-by cleanup:
      - Remove import of log.h from profile-generator.h
      - Remove unnecessary includes of log.h
      
      Change-Id: Ifc4ca156bef038c40953f8361ffea17788e3a59b
      Reviewed-on: https://chromium-review.googlesource.com/c/1424338
      Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58957}
      7da7c0bd
  25. 11 Jan, 2019 1 commit
  26. 20 Dec, 2018 1 commit
  27. 30 Nov, 2018 1 commit
  28. 28 Nov, 2018 1 commit
  29. 27 Nov, 2018 1 commit
  30. 25 Nov, 2018 1 commit
  31. 07 Oct, 2018 1 commit
    • Benedikt Meurer's avatar
      Revert "[turbofan] Do not consume SignedSmall feedback in TurboFan anymore." · 248fd5ff
      Benedikt Meurer authored
      This reverts commit 4fd92b25.
      
      Reason for revert: Significant tankage on the no-mitigations bots (bad timing on the regular bots)
      
      Original change's description:
      > [turbofan] Do not consume SignedSmall feedback in TurboFan anymore.
      > 
      > This changes TurboFan to treat SignedSmall feedback similar to Signed32
      > feedback for binary and compare operations, in order to simplify and
      > unify the machinery.
      > 
      > This is an experiment. If this turns out to tank performance, we will
      > need to revisit and ideally revert this change.
      > 
      > Bug: v8:7094
      > Change-Id: I885769c2fe93d8413e59838fbe844650c848c3f1
      > Reviewed-on: https://chromium-review.googlesource.com/c/1261442
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#56411}
      
      TBR=jarin@chromium.org,bmeurer@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: v8:7094
      Change-Id: I9fff3b40e6dc0ceb7611b55e1ca9940089470404
      Reviewed-on: https://chromium-review.googlesource.com/c/1267175Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56427}
      248fd5ff
  32. 05 Oct, 2018 1 commit
  33. 19 Sep, 2018 2 commits