1. 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
  2. 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
  3. 11 Jan, 2019 1 commit
  4. 20 Dec, 2018 1 commit
  5. 30 Nov, 2018 1 commit
  6. 28 Nov, 2018 1 commit
  7. 27 Nov, 2018 1 commit
  8. 25 Nov, 2018 1 commit
  9. 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
  10. 05 Oct, 2018 1 commit
  11. 19 Sep, 2018 2 commits
  12. 17 Sep, 2018 3 commits
  13. 14 Sep, 2018 1 commit
  14. 27 Aug, 2018 1 commit
  15. 24 Aug, 2018 1 commit
  16. 22 Aug, 2018 2 commits
  17. 21 Aug, 2018 1 commit
    • Bret Sepulveda's avatar
      Refactor test-log.cc. · 6bf31c72
      Bret Sepulveda authored
      This patch splits the log file into a vector of std::strings when
      logging is stopped, so verifying that lines are present can be done in
      terms of std library functions. Verifications are now done by simple
      substring matching instead of via a prefix or suffix, in preparation for
      a new test that needs to match the middle of a line.
      
      This patch also deletes some dead/debugging code.
      
      Change-Id: I5c6b75b0807c41312d35208deda26546dc0f7216
      Reviewed-on: https://chromium-review.googlesource.com/1183187Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Commit-Queue: Bret Sepulveda <bsep@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55281}
      6bf31c72
  18. 07 Aug, 2018 1 commit
  19. 31 Jul, 2018 1 commit
    • Sigurd Schneider's avatar
      [utils] Change ReadFile interface · ec067322
      Sigurd Schneider authored
      ReadFile returned a Vector with ownership transfer, i.e. the client
      needed to call Dispose to free the memory. This CL changes the interface
      to return a std::string instead, which manages ownership. As it turns
      out, there is only one user of ReadString that sometimes calls an API
      function which expects to take ownership of its Vector argument.
      
      Bug: v8:7932
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: Ie624a7a65cf5814fddce7a57bc557e4b9876bc53
      Reviewed-on: https://chromium-review.googlesource.com/1155115
      Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54805}
      ec067322
  20. 27 Jul, 2018 1 commit
    • Peter Marshall's avatar
      [cpu-profiler] Use instruction start as the key for the CodeMap · ba752ea4
      Peter Marshall authored
      Previously we used the start address of the AbstractCode object. This
      doesn't make sense for off-heap builtins, where the code isn't contained
      in the object itself. It also hides other potential problems - sometimes
      the sample.pc is inside the AbstractCode object header - this is
      never valid.
      
      There were a few changes necessary to make this happen:
        - Change the interface of CodeMoveEvent. Now 'to' and 'from' are both
          AbstractCode objects, which is nice because many users were taking
          'to' and adding the header offset to it to try and find the
          instruction start address. This isn't valid for off-heap builtins.
        - Fix a bug in CodeMap::MoveCode where we didn't update the CodeEntry
          object to reflect the new instruction_start.
        - Rename the 'start' field in all of the CodeEventRecord sub-classes
          to make it clear that this is the address of the first instruction.
        - Fix the confusion in RecordTickSample between 'tos' and 'pc' which
          caused pc_offset to be calculated incorrectly.
      
      Bug: v8:7983
      Change-Id: I3e9dddf74e4b2e96a5f031d216ef7008d6f184d1
      Reviewed-on: https://chromium-review.googlesource.com/1148457
      Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54749}
      ba752ea4
  21. 26 Jul, 2018 1 commit
  22. 23 Jul, 2018 2 commits
  23. 16 Jul, 2018 1 commit
  24. 13 Jul, 2018 1 commit
    • Michael Lippautz's avatar
      Revert "Reland "[heap] Added External Strings to external memory accounting."" · 71dddd14
      Michael Lippautz authored
      This reverts commit 7bff339e.
      
      Reason for revert: Breaks autoroll, see bug.
      
      Bug: v8:7944
      
      Original change's description:
      > Reland "[heap] Added External Strings to external memory accounting."
      > 
      > This is a reland of 5863c0b6
      > 
      > Original change's description:
      > > [heap] Added External Strings to external memory accounting.
      > > 
      > > Bug: chromium:845409
      > > Change-Id: I3fe2b294f6e038d77787cf0870d244ba7cc20550
      > > Reviewed-on: https://chromium-review.googlesource.com/1118164
      > > Commit-Queue: Rodrigo Bruno <rfbpb@google.com>
      > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#54110}
      > 
      > Bug: chromium:845409
      > Change-Id: Ied341ec6268000343d2a577b22f2a483460b01f5
      > Reviewed-on: https://chromium-review.googlesource.com/1121736
      > Commit-Queue: Rodrigo Bruno <rfbpb@google.com>
      > Reviewed-by: Peter Marshall <petermarshall@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#54410}
      
      TBR=ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,petermarshall@chromium.org,rfbpb@google.com
      
      Change-Id: Ie55586e84f44a2d83c7f97110d60abb86f0730c5
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:845409
      Reviewed-on: https://chromium-review.googlesource.com/1136312Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54428}
      71dddd14
  25. 12 Jul, 2018 2 commits
  26. 26 Jun, 2018 2 commits
  27. 25 Jun, 2018 1 commit
    • Camillo Bruni's avatar
      Reland "[parser][log] Log script id during background compilation" · e7f5c5cc
      Camillo Bruni authored
      This reverts commit a800e050.
      
      Original change's description:
      > Revert "[parser][log] Log script id during background compilation"
      >
      > This reverts commit aafd5c52.
      >
      > Reason for revert: Tentative revert for
      >
      > https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Win64/24825
      > https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Win64%20-%20msvc/3242
      >
      > Original change's description:
      > > [parser][log] Log script id during background compilation
      > >
      > > - Add separate script-create, script-reserve-id and script-details log events
      > > - Add log events for CompilationCache hits and puts
      > > - Simplify function event logging by only pass along the script id
      > > - Explicitly create Scripts in parse-processor.js on script events only
      > > - Create a temporary script id in the ParseInfo for use during background
      > >   parsing and compilation
      > > - Clean up ParseInfo initialization to centralize creation and use of
      > >   script ids
      > > - Allow creating Scripts with predefined script ids
      > >
      > > Bug: chromium:757467, chromium:850038
      > > Change-Id: I02dfd1d5725795b9fe0ea94ef57b287b934a1efe
      > > Reviewed-on: https://chromium-review.googlesource.com/1097131
      > > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
      > > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
      > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > > Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#53978}
      >
      > TBR=ulan@chromium.org,cbruni@chromium.org,gsathya@chromium.org,leszeks@chromium.org
      >
      > Change-Id: I629f72f51d5e086e2b54658c1fdd18cec268aab2
      > No-Presubmit: true
      > No-Tree-Checks: true
      > No-Try: true
      > Bug: chromium:757467, chromium:850038
      > Reviewed-on: https://chromium-review.googlesource.com/1112538
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Commit-Queue: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53984}
      
      TBR=ulan@chromium.org,yangguo@chromium.org,cbruni@chromium.org,gsathya@chromium.org,leszeks@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: chromium:757467, chromium:850038
      Change-Id: I3088c86362c06ee50464f1f14e25350b1b8048ad
      Reviewed-on: https://chromium-review.googlesource.com/1112539Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53994}
      e7f5c5cc
  28. 22 Jun, 2018 2 commits
  29. 18 Jun, 2018 1 commit
  30. 11 Jun, 2018 1 commit
    • Matheus Marchini's avatar
      [log] fix ExistingCodeLogger behavior on edge case · b20faffb
      Matheus Marchini authored
      ExistingCodeLogger was behaving incorrectly when the CodeEventHandler
      API was used in combination with --interpreted-frames-native-stack.
      Instead of collecting copied trampolines as InterpretedFunction:functionName,
      they were being collected as Builtin:IntepreterEntryTrampolines.
      This patch adds special handling for copied trampolines when
      using ExistingCodeLogger.
      
      R=yangguo@google.com
      
      Change-Id: I3ee4be03800122d28d53b51b20c60dcf6263e4c1
      Reviewed-on: https://chromium-review.googlesource.com/1087813Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53624}
      b20faffb
  31. 28 May, 2018 1 commit
  32. 18 Apr, 2018 1 commit