1. 17 Jun, 2021 1 commit
  2. 27 Oct, 2020 1 commit
    • Mike Stanton's avatar
      [TurboFan] Provide concurrent access to feedback vector · 2288b1f6
      Mike Stanton authored
      This CL provides synchronized get/set to feedback vector slots.
      The FeedbackNexus is set up to use order preserving reads when used
      on the background thread, and a lock to ensure coherent read
      of information for ICKinds with two slots. The main thread takes
      the lock on sets.
      
      This test provides patterns to be followed by concurrent TurboFan.
      
      We don't yet access the FeedbackVector on the background thread.
      This CL only makes it safe to do so. The next step will come when
      the optimizing compiler begins to query the the vector from the
      background thread. Currently, with --concurrent-inlining turned on
      this is done in bytecode serialization on the main thread. Without
      concurrent inlining, it's also done on the main thread, in both
      cases using the FeedbackNexus.
      
      Bug: v8:7790
      Change-Id: I49d8b8031190f91a0da1c24f375b6b6d8a9fe038
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2276210
      Commit-Queue: Michael Stanton <mvstanton@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
      Reviewed-by: 's avatarSantiago Aboy Solanes <solanes@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70797}
      2288b1f6
  3. 24 Sep, 2020 2 commits
  4. 22 Sep, 2020 1 commit
  5. 11 Jun, 2019 1 commit
    • Benedikt Meurer's avatar
      [ic] Various cleanups to the IC class. · 12e2f1ac
      Benedikt Meurer authored
      This includes a bunch of individual changes:
      
       - Refactor IC::OnFeedbackChanged() and remove the now unused
         GetHostFunction().
       - Remove constant_pool, pc and fp from the IC, since it was
         only used for --trace-ic by now, and here we can now use the
         JavaScriptFrameIterator instead.
       - Use FLAG_max_polymorphic_map_count consistently instead of having a
         separate kMaxKeyedPolymorphism constant in some cases.
       - Remove dead IC::TraceHandlerCacheHitStats() method.
       - Remove the unused maybe_handler_ field.
      
      Bug: v8:9183
      Change-Id: I29680519ab84b2790c73f50fca966a66918a7e31
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1649567
      Commit-Queue: Igor Sheludko <ishell@chromium.org>
      Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62083}
      12e2f1ac
  6. 23 May, 2019 2 commits
  7. 22 May, 2019 1 commit
  8. 21 May, 2019 1 commit
  9. 20 May, 2019 1 commit
  10. 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
  11. 20 Dec, 2018 1 commit
  12. 13 Dec, 2018 1 commit
  13. 12 Nov, 2018 1 commit
  14. 05 Nov, 2018 1 commit
  15. 29 Oct, 2018 1 commit
  16. 26 Oct, 2018 1 commit
  17. 19 Oct, 2018 1 commit
  18. 17 Sep, 2018 1 commit
  19. 14 Sep, 2018 2 commits
    • Marja Hölttä's avatar
      Revert "[in-place weak refs] Fix MaybeObject function names" · 3a79fe23
      Marja Hölttä authored
      This reverts commit ad72d195.
      
      Reason for revert: Build failures on *san
      
      Original change's description:
      > [in-place weak refs] Fix MaybeObject function names
      > 
      > E.g., "ToWeakHeapObject" was misleading, since it didn't convert to a weak heap
      > object, instead returned a weakly pointed heap object. Change the function names
      > (in this case, to "GetHeapObjectIfWeak") to reflect this.
      > 
      > Also make casts explicit, if a MaybeObject is an Object, we can call cast<Object>().
      > 
      > BUG=v8:7308
      > 
      > Change-Id: I4ef078572b4f4415afe7e2e706d3bd684e16e47d
      > Reviewed-on: https://chromium-review.googlesource.com/1219025
      > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Commit-Queue: Marja Hölttä <marja@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55906}
      
      TBR=ulan@chromium.org,marja@chromium.org,yangguo@chromium.org,ahaas@chromium.org,tebbi@chromium.org,ishell@chromium.org
      
      Change-Id: I054b578518e3f6fd7dbcddf0b56cc018726c1e7a
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7308
      Reviewed-on: https://chromium-review.googlesource.com/1226874Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55918}
      3a79fe23
    • Marja Hölttä's avatar
      [in-place weak refs] Fix MaybeObject function names · ad72d195
      Marja Hölttä authored
      E.g., "ToWeakHeapObject" was misleading, since it didn't convert to a weak heap
      object, instead returned a weakly pointed heap object. Change the function names
      (in this case, to "GetHeapObjectIfWeak") to reflect this.
      
      Also make casts explicit, if a MaybeObject is an Object, we can call cast<Object>().
      
      BUG=v8:7308
      
      Change-Id: I4ef078572b4f4415afe7e2e706d3bd684e16e47d
      Reviewed-on: https://chromium-review.googlesource.com/1219025Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55906}
      ad72d195
  20. 23 Jul, 2018 1 commit
  21. 23 May, 2018 1 commit
  22. 15 May, 2018 1 commit
  23. 14 May, 2018 1 commit
  24. 08 May, 2018 1 commit
  25. 19 Apr, 2018 1 commit
  26. 14 Apr, 2018 1 commit
    • Jakob Kummerow's avatar
      [ubsan] Change Address typedef to uintptr_t · 2459046c
      Jakob Kummerow authored
      The "Address" type is V8's general-purpose type for manipulating memory
      addresses. Per the C++ spec, pointer arithmetic and pointer comparisons
      are undefined behavior except within the same array; since we generally
      don't operate within a C++ array, our general-purpose type shouldn't be
      a pointer type.
      
      Bug: v8:3770
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: Ib96016c24a0f18bcdba916dabd83e3f24a1b5779
      Reviewed-on: https://chromium-review.googlesource.com/988657
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52601}
      2459046c
  27. 02 Feb, 2018 1 commit
  28. 14 Dec, 2017 2 commits
  29. 23 Nov, 2017 1 commit
  30. 13 Oct, 2017 1 commit
  31. 29 Sep, 2017 1 commit
  32. 23 Aug, 2017 1 commit
  33. 22 Jun, 2017 1 commit
  34. 21 Jun, 2017 1 commit
  35. 21 Mar, 2017 1 commit
  36. 20 Mar, 2017 1 commit
    • Franziska Hinkelmann's avatar
      Revert "[ic] Migrate StoreGlobal to data handler" · 9fa2a371
      Franziska Hinkelmann authored
      This reverts commit ea4346be.
      
      Reason for revert: This causes a crash in a Node.js test (parallel/test-repl-options). I can reproduce the crash locally. At a first glance, it doesn't look like we're doing anything terribly wrong in Node that explains the crash. I'll have a closer lock tomorrow. Feel free to reland if needed, we can always deactivate the test.  
      
      Original change's description:
      > [ic] Migrate StoreGlobal to data handler
      > 
      > BUG=v8:5561
      > 
      > Change-Id: If4c679c97af199ce1c90d055627186123bc88574
      > Reviewed-on: https://chromium-review.googlesource.com/456698
      > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#43944}
      
      TBR=ishell@chromium.org,verwaest@chromium.org,v8-reviews@googlegroups.com
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:5561
      
      Change-Id: I790ff9ab45016749fe2f3982045f497a995e282e
      Reviewed-on: https://chromium-review.googlesource.com/456505Reviewed-by: 's avatarFranziska Hinkelmann <franzih@chromium.org>
      Commit-Queue: Franziska Hinkelmann <franzih@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#43951}
      9fa2a371