1. 27 Aug, 2020 1 commit
  2. 26 Aug, 2020 1 commit
  3. 20 Aug, 2020 3 commits
  4. 18 Aug, 2020 1 commit
  5. 11 Aug, 2020 1 commit
    • Clemens Backes's avatar
      Reland "[wasm] Ensure that only TurboFan code is serialized" · cdd984ef
      Clemens Backes authored
      This is a reland of 60ee70bb.
      The wasm c-api flakes were fixed in https://crrev.com/c/2349293.
      
      Original change's description:
      > [wasm] Ensure that only TurboFan code is serialized
      >
      > We have the implicit assumption that Liftoff code will never be
      > serialized, and we start relying on that when implementing new features
      > (debugging, dynamic tiering).
      >
      > This CL makes the serializer fail if the module contains any Liftoff
      > code. Existing tests are changed to ensure that we fully tiered up
      > before serializing a module (similar to the logic in Chromium).
      > The "wasm-clone-module" test needs to serialize the module before
      > enabling the debugger.
      >
      > Note that chrome currently only serializes a module after it fully
      > tiered up, so that should be fine. If other embedders need the ability
      > to serialize a module in an arbitrary state, we will have to fix this
      > later. With this CL we will be on the safe side though and (gracefully)
      > fail serialization instead of accidentally serializing Liftoff code.
      >
      > R=ahaas@chromium.org
      >
      > Bug: v8:10777
      > Change-Id: I1245e5f7fda3447a544c1e3525e1239cde759174
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2336799
      > Commit-Queue: Clemens Backes <clemensb@chromium.org>
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#69276}
      
      Bug: v8:10777
      Change-Id: I2a7c1429812ca46d88a2902b8e0a7b7e3d638b56
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2349290Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69335}
      cdd984ef
  6. 07 Aug, 2020 1 commit
    • Leszek Swirski's avatar
      Revert "[wasm] Ensure that only TurboFan code is serialized" · cf325b5a
      Leszek Swirski authored
      This reverts commit 60ee70bb.
      
      Reason for revert: wasm-api-tests/WasmCapiTest.Serialize starts flaking: https://crbug.com/v8/10784
      
      Original change's description:
      > [wasm] Ensure that only TurboFan code is serialized
      > 
      > We have the implicit assumption that Liftoff code will never be
      > serialized, and we start relying on that when implementing new features
      > (debugging, dynamic tiering).
      > 
      > This CL makes the serializer fail if the module contains any Liftoff
      > code. Existing tests are changed to ensure that we fully tiered up
      > before serializing a module (similar to the logic in Chromium).
      > The "wasm-clone-module" test needs to serialize the module before
      > enabling the debugger.
      > 
      > Note that chrome currently only serializes a module after it fully
      > tiered up, so that should be fine. If other embedders need the ability
      > to serialize a module in an arbitrary state, we will have to fix this
      > later. With this CL we will be on the safe side though and (gracefully)
      > fail serialization instead of accidentally serializing Liftoff code.
      > 
      > R=​ahaas@chromium.org
      > 
      > Bug: v8:10777
      > Change-Id: I1245e5f7fda3447a544c1e3525e1239cde759174
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2336799
      > Commit-Queue: Clemens Backes <clemensb@chromium.org>
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#69276}
      
      TBR=ahaas@chromium.org,clemensb@chromium.org
      
      Change-Id: Ic1349375bd562bb0a2724c39c27ef3247461c97b
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:10777
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2342845Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69284}
      cf325b5a
  7. 06 Aug, 2020 1 commit
    • Clemens Backes's avatar
      [wasm] Ensure that only TurboFan code is serialized · 60ee70bb
      Clemens Backes authored
      We have the implicit assumption that Liftoff code will never be
      serialized, and we start relying on that when implementing new features
      (debugging, dynamic tiering).
      
      This CL makes the serializer fail if the module contains any Liftoff
      code. Existing tests are changed to ensure that we fully tiered up
      before serializing a module (similar to the logic in Chromium).
      The "wasm-clone-module" test needs to serialize the module before
      enabling the debugger.
      
      Note that chrome currently only serializes a module after it fully
      tiered up, so that should be fine. If other embedders need the ability
      to serialize a module in an arbitrary state, we will have to fix this
      later. With this CL we will be on the safe side though and (gracefully)
      fail serialization instead of accidentally serializing Liftoff code.
      
      R=ahaas@chromium.org
      
      Bug: v8:10777
      Change-Id: I1245e5f7fda3447a544c1e3525e1239cde759174
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2336799
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69276}
      60ee70bb
  8. 05 Aug, 2020 1 commit
  9. 03 Aug, 2020 1 commit
  10. 31 Jul, 2020 1 commit
  11. 30 Jul, 2020 1 commit
  12. 29 Jul, 2020 1 commit
  13. 21 Jul, 2020 1 commit
    • Jakob Gruber's avatar
      [infra] Add and enable nci_as_highest_tier variant · d1fb6b5a
      Jakob Gruber authored
      With work on NCI proceeding, it makes sense to test multiple
      pipeline configurations.
      
      The nci variant (passes --turbo-nci) now spawns dedicated NCI
      compilation jobs and inserts generated code into the code cache.
      
      The nci_as_highest_tier variant (passes --turbo-nci-as-highest-tier)
      simply replaces TF with NCI code (no extra jobs, no extra caching).
      This mode stresses NCI generated code more than the nci variant, in
      which NCI code only runs on cache hits.
      
      Bug: v8:8888
      Change-Id: I4c2a43cce5271a6c288e7aba195dcc9daed6af9d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2299361
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#68964}
      d1fb6b5a
  14. 15 Jul, 2020 1 commit
  15. 07 Jul, 2020 1 commit
    • Jakob Gruber's avatar
      [nci] Don't expose feedback to compiler phases in NCI mode · e33e8481
      Jakob Gruber authored
      Native context independent code generation should, at the moment, not
      use any collected feedback.
      
      We implement this by returning InsufficientFeedback from the heap
      broker's ReadFeedbackForX methods if currently compiling nci code.
      Thus all feedback.IsInsufficient() calls inside the compiler will
      return true (disabling feedback-based optimizations).
      FeedbackSource::IsValid() (used in generic lowering) can still return
      true.
      
      Bug: v8:8888
      Change-Id: I198b6457276073e7376c777b206c50726f1b3645
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2284494
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#68726}
      e33e8481
  16. 30 Jun, 2020 1 commit
  17. 24 Jun, 2020 1 commit
  18. 22 Jun, 2020 1 commit
  19. 19 Jun, 2020 1 commit
  20. 17 Jun, 2020 1 commit
  21. 12 May, 2020 1 commit
  22. 11 May, 2020 1 commit
  23. 07 May, 2020 1 commit
  24. 06 May, 2020 1 commit
    • Jakob Gruber's avatar
      [snapshot] Clear reconstructable data prior to d8 stress_snapshot run · 3c422d1c
      Jakob Gruber authored
      The serializer currently cannot handle a heap state containing
      arbitrary compiled Code objects. As a quick fix for the
      --stress-snapshot d8 flag, we clear compiled data from the isolate
      prior to the serialize-deserialize-verify pass.
      
      With this change, mjsunit tests pass on x64.
      
      The %SerializeDeserializeNow() runtime function would require more
      work, since it is not possible to mutate the heap to this extent while
      still preserving a runnable host context and isolate. We will need
      another solution there.
      
      Drive-by: Skip the stress_snapshot variant except for the mjsunit
      suite.
      
      Tbr: machenbach@chromium.org
      Bug: v8:10493,v8:10416
      Change-Id: Ie110da8b51613fcd69c7f391d3cf8589d6b04dd8
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2182429Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67585}
      3c422d1c
  25. 29 Apr, 2020 2 commits
    • Mythri A's avatar
      [turboprop] Use feedback only for calls to builtins · 2aa6751e
      Mythri A authored
      To reduce the number of deoptimizations in TurboProp use call feedback
      only when we know the call target is a builtin. Given that we don't
      inline in TurboProp, call feedback isn't really useful and using Generic
      lowering doesn't impact performance much. TurboProp still inlines
      builtins, so it is important to use this feedback for generating better
      optimized code.
      
      BUG: v8:10431
      Change-Id: I24d51e43728f9aea3099767deb7800119fea40e2
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2116033
      Commit-Queue: Mythri Alle <mythria@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67468}
      2aa6751e
    • Jakob Gruber's avatar
      Reland "[regexp] Limit the size of inlined choice nodes" · 10842cad
      Jakob Gruber authored
      This is a reland of 6a0e7224
      
      Original change's description:
      > [regexp] Limit the size of inlined choice nodes
      >
      > Codegen for unicode property escapes (e.g.: /\p{L}/u) can produce huge
      > code objects. This effect can be further magnified through inlining,
      > leading to exponential code growth in the size of the pattern.
      >
      > This CL is a (fairly hacky) way to avoid exponential growth. We
      > recognize choice nodes with 'many' choices and disable inlining for
      > them. In the future we should fix this properly, either by using the
      > code size budget correctly, or by improving codegen for property
      > escapes.
      >
      > Bug: v8:10441
      > Change-Id: I817f145251ec8b1b9906cc735c9e9bdb004c98ed
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2170229
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#67433}
      
      Tbr: yangguo@chromium.org
      Bug: v8:10441
      Change-Id: I9a16cc9e8248cb46d3d16a4e2d250968cc1b7b39
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172679Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67462}
      10842cad
  26. 28 Apr, 2020 1 commit
  27. 24 Apr, 2020 1 commit
    • Leszek Swirski's avatar
      Reland "[offthread] Move stress-background-compile to compiler.cc" · 471b2001
      Leszek Swirski authored
      This is a reland of a441cbfb
      
      Disabling cctest/test-compiler/DeepEagerCompilationPeakMemory in stress
      mode since allocation is no longer deterministic.
      
      Original change's description:
      > [offthread] Move stress-background-compile to compiler.cc
      >
      > Make --stress-background-compile a V8 flag rather than a d8 flag, so
      > that it also tests unittests/cctests.
      >
      > Now, with this flag, every top-level script compile (that fulfills a
      > couple of restrictions) will be both main-thread and background-thread
      > compiled, taking the result of the background compile. In the future,
      > we'll probably want to verify that the two results are equivalent.
      >
      > One of the necessary changes to allow tests to pass was to introduce a
      > concept of a "temporary" script (with a temporary script id), which
      > doesn't get added to the script list. This is to avoid the main-thread
      > compile part of the stress-test having a debugger-visible side-effect,
      > e.g. in tests that enumerate scripts. We can't just create new ids for
      > such scripts, as then script-id expectation files no longer match.
      >
      > Bug: chromium:1011762
      > Change-Id: I500bbf2cabea762e69aca3dbae247daae71192cb
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2120541
      > Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#67332}
      
      TBR=rmcilroy@chromium.org
      
      Bug: chromium:1011762
      Change-Id: I5f9f0eb71caa4829e72b4a6d2824cbebd3698bd5
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162876Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67356}
      471b2001
  28. 22 Apr, 2020 1 commit
    • Dan Elphick's avatar
      [snapshot] Rename partial snapshot to context snapshot · 71bd50e1
      Dan Elphick authored
      The partial snapshot/serializer/deserializer are renamed to context *,
      while the partial snapshot cache is renamed to startup object cache in
      line with the read-only object cache (as this better reflects where it
      lives and what it does).
      
      To avoid a gap in the file history due to renaming both the files and
      identifiers simulataneously, this leaves all the partial-*.* files in
      place. They will be renamed in a follow-up CL.
      
      Bug: v8:10416
      Change-Id: I5ef41cad751aaa24b35ee2b3c72bd0295832f2c6
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2144115
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Auto-Submit: Dan Elphick <delphick@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67306}
      71bd50e1
  29. 21 Apr, 2020 1 commit
  30. 16 Apr, 2020 1 commit
  31. 13 Apr, 2020 1 commit
  32. 08 Apr, 2020 1 commit
  33. 31 Mar, 2020 1 commit
  34. 27 Mar, 2020 1 commit
    • Milad Farazmand's avatar
      s390: [wasm-simd] Enable LoadTransform tests on the simulator · c898fb31
      Milad Farazmand authored
      LoadTransform is not implemented on BE machines and instead,
      it is divided into 2 separate "Load" and "operation" nodes.
      We need to assure same behaviour applies on S390 simulator, however,
      S390 Sim does not execute BE code, it assume generated code is in
      LE format hence "V8_TARGET_BIG_ENDIAN" is set to false when running
      on Sim.
      
      This CL includes V8_TARGET_ARCH_S390_LE_SIM to assure same
      behaviour occurs when running on the Sim until V8_TARGET_BIG_ENDIAN
      can also include the simulator.
      
      
      Change-Id: If1decf9eccb43ac721b57d58362b8934d49cbff2
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2124847
      Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66895}
      c898fb31
  35. 19 Mar, 2020 1 commit
  36. 17 Mar, 2020 1 commit
  37. 03 Mar, 2020 1 commit