1. 17 Nov, 2021 1 commit
  2. 15 Nov, 2021 2 commits
  3. 12 Nov, 2021 1 commit
  4. 11 Nov, 2021 3 commits
    • Seth Brenith's avatar
      Don't run regress-4578.js with concurrent inlining · 013e37e8
      Seth Brenith authored
      Similar to previous bug v8:11771, this test needs deterministic GC
      behavior so it is incompatible with concurrent inlining.
      
      Bug: v8:12374, v8:4578
      Change-Id: Ib3667744d1032524a0c2e697a970876dfc1677ae
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3272882
      Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#77851}
      013e37e8
    • Leszek Swirski's avatar
      [interpreter] Fix block resurrection by LoopHeader · 18b63625
      Leszek Swirski authored
      Loop headers in the interpreter would start a new basic block, which
      among other things would reset the liveness of that block. This meant
      that a loop created after dead code, without a check for whether the
      code is currently dead or not, would "resurrect" that block's liveness,
      making the inside of the loop live even though the loop itself is
      unreachable.
      
      This works fine, since the loop is still unreachable, but can breaks
      DCHECKs in bytecode liveness analysis for cases where a register is
      supposed to be initialised before the loop, in the dead code, and is
      then used inside the loop, in the resurrected code.
      
      Normally this wouldn't be a problem, since blocks are normally killed on
      the statement level and we check for deadness during statement
      iteration, but `foo() = x` introduces an expression-level block killer
      (being re-written to `foo[throw ReferenceError] = x`) and we don't check
      for deadness after assignment Lhs preparation.
      
      This does mean that we have to fix the InterpreterJumps test, to not try
      to jump into the middle of a loop (since this could revive the loop).
      This can only happen when manually creating bytecode, bytecode generated
      from JavaScript is always reducible.
      
      Bug: chromium:1230597
      Change-Id: I8403ccdeae7e5450adf629026e2ca8a134c81877
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3275557
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#77846}
      18b63625
    • Manos Koukoutos's avatar
      [wasm-gc] Improve wasm escape analysis/allocation folding · 77d9e997
      Manos Koukoutos authored
      Changes:
      - Enable allocation folding for wasm-gc graphs.
      - Improve structure of wasm escape analysis code. Kill dead nodes.
      - Revisit object node after eliminating a load or a store to that node.
      - Add a couple of tests, rename one test file.
      
      Bug: v8:11510
      Change-Id: I8b3c5186cd0a8827744a05eba366ff79bc7bc975
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3264215Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
      Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#77840}
      77d9e997
  5. 09 Nov, 2021 4 commits
  6. 08 Nov, 2021 2 commits
  7. 05 Nov, 2021 5 commits
  8. 04 Nov, 2021 7 commits
  9. 03 Nov, 2021 3 commits
  10. 02 Nov, 2021 5 commits
  11. 01 Nov, 2021 1 commit
  12. 29 Oct, 2021 3 commits
  13. 28 Oct, 2021 3 commits
    • Tobias Tebbi's avatar
      Reland "[turbofan] extend type asserts to cover all JS types" · 392078fb
      Tobias Tebbi authored
      This is a reland of 45227ffd
      Differences:
      - Handle one more flags conflict in variants.py.
      - Disallow %VerifyType without --concurrent-recompilation.
      
      Original change's description:
      > [turbofan] extend type asserts to cover all JS types
      >
      > Extend type assertions to all types covering JavaScript values.
      > This is achieved by allocating type representations on the heap using
      > newly defined HeapObject subclasses. To allocate these in the compiler,
      > we disable concurrent compilation for the --assert-types flag for now.
      >
      > Fix two type errors that came up with the existing tests:
      > 1. JSCreateKeyValueArray has type Array (i.e., a JSArray) instead of
      >    OtherObject.
      > 2. OperationTyper::NumberToString(Type) can type the result as the
      >    HeapConstant Factory::zero_string(). However, NumberToString does
      >    not always produce this string. To avoid regressions, the CL keeps
      >    the HeapConstant type and changes the runtime and builtin code to
      >    always produce the canonical "0" string.
      >
      > A few tests were failing because they check for truncations to work
      > and prevent deoptimization. However, AssertType nodes destroy all
      > truncations (which is by design), so these tests are incompatible
      > and now disabled for the assert_types variant.
      >
      > Drive-by fix: a few minor Torque issues that came up.
      >
      > Change-Id: If03b7851f7e6803a2f69edead4fa91231998f764
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3234717
      > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
      > Reviewed-by: Omer Katz <omerkatz@chromium.org>
      > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > Cr-Commit-Position: refs/heads/main@{#77565}
      
      Change-Id: I5b3c6745c6ad349ff8c2b199d9afdf0a9b5a7392
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3247035
      Auto-Submit: Tobias Tebbi <tebbi@chromium.org>
      Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
      Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
      Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#77596}
      392078fb
    • Thibaud Michaud's avatar
      [wasm] Temporarily disable stack-switching test · bddb7b02
      Thibaud Michaud authored
      The stack-switching test is not expected to pass yet if a GC happens
      in the runtime call or in the wasm call.
      
      R=ahaas@chromium.org
      
      Bug: v8:12191, v8:12344
      Change-Id: Iba66be58c1abd2ffbb22bbd7d34f8df0246a2a92
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3250900Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#77594}
      bddb7b02
    • Ray Wang's avatar
      [date] Skip leading zeros when parsing date string · cced52a9
      Ray Wang authored
      1. Skip leading zeros when parsing date string
      2. Add necessary unittests
      
      Bug: v8:12256
      Change-Id: Ibc1f320382a2e33175f7f57542c8fe48afd05fa8
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3223239Reviewed-by: 's avatarShu-yu Guo <syg@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Commit-Queue: Shu-yu Guo <syg@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#77592}
      cced52a9