1. 11 Sep, 2020 2 commits
  2. 10 Sep, 2020 6 commits
  3. 09 Sep, 2020 4 commits
    • Andreas Haas's avatar
      Reland "[wasm][liftoff] Emit safepoints for externref values on the stack" · 7c4b9302
      Andreas Haas authored
      The emitted safepoint entries had the wrong size, because it did not
      contain StandardFrameConstants::kFixedFrameSizeAboveFp. The code still
      worked because the indices of encoded in the entries where too low by
      StandardFrameConstants::kFixedFrameSizeAboveFp and thereby corrected
      the invalid size. It worked as follows:
      
      First the stack_slots_size gets calculated from the safepoint entry.
      Then the position of a stack slot was
      "frame_header_base + stack_slots_size - index * pointer_size", where
      "index" is what is encoded in the safepoint map. Because of the incorrect
      encoding, both stack_slot_size and index were too low by
      StandardFrameConstants::kFixedFrameSizeAboveFp. Therefore the errors in
      both values eliminated each other, making the end result correct.
      
      With --print-code, the safepoint entry size was also read, and it
      crashed because the encoded value was too low.
      
      The reland fixes the indices.
      
      Original message:
      
      With this CL we emit safepoint maps for externref values on the Liftoff
      value stack. With that there is support for externref parameters and
      locals in Liftoff, as well as for intermediate values of type
      externref.
      
      R=thibaudm@chromium.org
      
      Bug: v8:7581
      Change-Id: I88444e57745d7b9fe8f1630e904d49736fa9d720
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398531
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69786}
      7c4b9302
    • Sathya Gunasekaran's avatar
      Revert "Reland "[test][d8] Add d8.log.getAndStop helper"" · 92236da2
      Sathya Gunasekaran authored
      This reverts commit 23531d82.
      
      Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/33007?
      
      Original change's description:
      > Reland "[test][d8] Add d8.log.getAndStop helper"
      > 
      > This is a reland of 95aa697b
      > 
      > Original change's description:
      > > [test][d8] Add d8.log.getAndStop helper
      > >
      > > The new helper function allows us to write tests for log parsing
      > > without the need to first generating a log file. This makes it easier
      > > to spot errors when the log format changes.
      > >
      > > - Add d8 global variable
      > > - Add file_name accessor to Logger and Log classes
      > > - Change OS::LogFileOpenMode to w+ / wb+
      > > - Use separate Log::WriteLogHeader method
      > > - Remove unused logger_ instance variable from Log
      > >
      > > Bug: v8:10644
      > > Change-Id: Ifc7e35aa4e91b3f01f0847843263946e085944c3
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387563
      > > Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      > > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > > Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#69715}
      > 
      > Bug: v8:10644
      > 
      > TBR=verwaest@chromium.org
      > 
      > Change-Id: I54741344834d88a376b74e2e3a2047e880a94624
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2396081
      > Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#69769}
      
      TBR=mlippautz@chromium.org,cbruni@chromium.org,gsathya@chromium.org,verwaest@chromium.org
      
      Change-Id: I493315e0d6498f0fa9bed3409725bb52d554b53a
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:10644
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400982Reviewed-by: 's avatarSathya Gunasekaran  <gsathya@chromium.org>
      Commit-Queue: Sathya Gunasekaran  <gsathya@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69770}
      92236da2
    • Camillo Bruni's avatar
      Reland "[test][d8] Add d8.log.getAndStop helper" · 23531d82
      Camillo Bruni authored
      This is a reland of 95aa697b
      
      Original change's description:
      > [test][d8] Add d8.log.getAndStop helper
      >
      > The new helper function allows us to write tests for log parsing
      > without the need to first generating a log file. This makes it easier
      > to spot errors when the log format changes.
      >
      > - Add d8 global variable
      > - Add file_name accessor to Logger and Log classes
      > - Change OS::LogFileOpenMode to w+ / wb+
      > - Use separate Log::WriteLogHeader method
      > - Remove unused logger_ instance variable from Log
      >
      > Bug: v8:10644
      > Change-Id: Ifc7e35aa4e91b3f01f0847843263946e085944c3
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387563
      > Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#69715}
      
      Bug: v8:10644
      
      TBR=verwaest@chromium.org
      
      Change-Id: I54741344834d88a376b74e2e3a2047e880a94624
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2396081
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarSathya Gunasekaran  <gsathya@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69769}
      23531d82
    • Martin Bidlingmaier's avatar
      [regexp] Support more quantifiers in experimental engine · f2a832ca
      Martin Bidlingmaier authored
      Previously to this commit only quantifiers of the form /<x>*/, i.e.
      arbitrarily often greedy repetition, were implemented.  Now a much
      larger class is supported, e.g. + and ? and their non-greedy variants.
      Because it came up repeatedly during the implementation, the commit also
      adds the Label and DeferredLabel classes to patch JMP and FORK target
      addresses more easily.
      
      Still not supported are the following quantifiers:
      - Possessive quantifiers, where I'm not entirely sure whether they could
        be implemented in principle. Re2 doesn't support them.
      - Quantifiers with large but finite numbers for min and max numbers of
        repetitions, as in e.g. /<x>{9000, 90000}/. These are currently
        limited to some small value. This is because the body of such
        repetitions is unrolled explicitly, so the size of the bytecode is
        linear in the number of repetitions.
      
      Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng
      Bug: v8:10765
      Change-Id: Id04d893252588abb0f80c3cb33cfc707f6601ea0
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387575
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69759}
      f2a832ca
  4. 08 Sep, 2020 6 commits
  5. 07 Sep, 2020 3 commits
  6. 03 Sep, 2020 2 commits
  7. 02 Sep, 2020 4 commits
    • Ng Zhi An's avatar
      Force test to not run on unsupported SIMD platforms · b72bd14f
      Ng Zhi An authored
      Due to the way SSE flags work, we need to enable all versions prior to
      SSE 4.1 as well.
      
      Bug: v8:10863
      Change-Id: I50ddd3f486641e7bf22c651fc2c9a8a4ccbc2b46
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391325Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69687}
      b72bd14f
    • Ng Zhi An's avatar
      Revert the change to skip test using nosse41 check · 78b2a154
      Ng Zhi An authored
      With https://crrev.com/c/2389982 we are now forcing the sse flag in this
      test, so we no longer need the flag check. Keep it around for the other
      archs.
      
      The nosse41 condition will be removed from the test runner in the next
      patch.
      
      Bug: v8:10863
      Change-Id: I7eacb21803e6cc810384d3e4881d2a965dc1ad69
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391320Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69684}
      78b2a154
    • Martin Bidlingmaier's avatar
      [regexp] Fix usage of {Is,Mark}PcProcessed in NfaInterpreter · 943f78a4
      Martin Bidlingmaier authored
      Previously we checked whether a thread's pc IsPcProcessed before pushing
      to the stack of (postponed) active_threads_.  This commit moves the
      IsPcProcessed check and corresponding MarkPcProcessed call to when the
      thread is actually processed, i.e. when it is popped from the
      active_threads_ stack again.
      
      This fixes two issues:
      - Consider what used to happen in the following scenario:
      1. An active thread t is postponed (e.g. because it is a fork) and
       pushed on active_threads_.  IsPcProcessed(t.pc) is false, so t is
       not discarded and does actually end up on active_threads_.
      2. Some other thread s is executed, and at some point s.pc == t.pc,
       i.e. t.pc is marked as processed.
      3. t is popped from active_threads_ for processing.
      
      In 3 we don't want to continue execution of t: After all, its pc is
      already marked as processed.  But because previously we only checked
      for IsPcProcessed in step 1 before pushing to active_threads_, we used
      to continue execution in 3.  I don't think this is a correctness
      issue, but possibly a performance problem.  In any case, this commit
      moves the IsPcProcessed check from 1 to 3 and so fixes this.
      - After flushing blocked_threads_, we push them to active_threads_
      again.  While doing so, we used to mark these thread's pcs as processed.
      This meant that sometimes a (fork of a) high priority thread was
      cancelled by the IsPcProcessed check even though its pc was only
      marked as processed by a thread with lower priority during flushing.
      We need it to be the other way round:  The low priority thread should
      be cancelled after its pc is processed by a thread with higher
      priority.
      With this commit we don't MarkPcProcessed during flushing, it's
      postponed to when we're actually processing.  This was a correctness
      issue, and there's a new corresponding test case.
      
      
      Bug: v8:10765
      Change-Id: Ie12682cf3f8a04222d907edd8a3ad25baa69465a
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2388112
      Commit-Queue: Martin Bidlingmaier <mbid@google.com>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69668}
      943f78a4
    • Michael Achenbach's avatar
      [test] Make test compatible with numfuzz · b22aa786
      Michael Achenbach authored
      The test is incompatible with --noenable-sse4-1, which is randomly
      added by numfuzz (and possibly other fuzzers).
      
      The "Flags" from the test files are always passed last and are often
      used to neuter incompatible flags.
      
      Bug: v8:10863
      Change-Id: I8fd11b4d38586f25f5af63ab8ef83873dc250557
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2389982Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Auto-Submit: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69665}
      b22aa786
  8. 01 Sep, 2020 3 commits
  9. 31 Aug, 2020 5 commits
  10. 28 Aug, 2020 2 commits
  11. 27 Aug, 2020 2 commits
  12. 26 Aug, 2020 1 commit