1. 06 Sep, 2022 1 commit
  2. 31 Aug, 2022 2 commits
  3. 25 Aug, 2022 1 commit
    • Leszek Swirski's avatar
      [cleanup] Remove --stress-opt · a25aa43e
      Leszek Swirski authored
      --stress-opt never did what we wanted it to; it ran its runs in
      different contexts (therefore not able to share feedback across runs),
      and even if it didn't, each run would create new closures for any
      defined closures, so we'd still more than likely end up poly- or
      mega-morphic.
      
      Fuzzers cover this use case better than --stress-opt ever did, so now
      it's just using precious bot time. We can get rid of it.
      
      Bug: v8:10386
      Change-Id: Ibbb9207d887b4b1dc4ec9093858d477c0f95eb37
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3803228
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Auto-Submit: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#82722}
      a25aa43e
  4. 16 Aug, 2022 1 commit
  5. 11 Aug, 2022 1 commit
  6. 10 Aug, 2022 1 commit
  7. 09 Aug, 2022 2 commits
  8. 05 Aug, 2022 1 commit
    • Michael Achenbach's avatar
      [infra] Change all Python shebangs to Python3 · 6ea78398
      Michael Achenbach authored
      The infrastructure runs everything already in Python3, so this is
      mostly a clean-up.
      
      For MB, a python2 holdover was removed and new lint errors were
      fixed.
      
      The renames were automated with:
      git grep -e "/usr/bin/python$" |
        cut -d':' -f1 |
        xargs
        sed -i 's/#!\/usr\/bin\/python$/#!\/usr\/bin\/python3/1'
      
      and
      git grep -e "/usr/bin/env python$" |
        cut -d':' -f1 |
        xargs
        sed -i 's/#!\/usr\/bin\/env python$/#!\/usr\/bin\/env python3/1'
      
      Bug: v8:13148
      Change-Id: If4f3c7635e72fa134798d55314ac1aa92ddd01bf
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3811499Reviewed-by: 's avatarLiviu Rau <liviurau@google.com>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#82231}
      6ea78398
  9. 04 Aug, 2022 1 commit
  10. 03 Aug, 2022 3 commits
  11. 29 Jul, 2022 1 commit
  12. 18 Jul, 2022 1 commit
    • Liviu Rau's avatar
      [test] Refactor testrunner (4) · b3477fdd
      Liviu Rau authored
       - Removed duplication and unnecessary indirection from all suites testcfgs.
       - Introduced a more comprehensive context to cover both command context and other platform specific concerns.
       - Propagated above context to TestLoader to allow for test counting command execution on all platforms.
       - Wrapped original pool with another class to give it a new interface and allow injecting different implementations in the future.
       - Consolidated progress indicators under a single processor in the pipeline.
       - Consolidated result retention requirements calculation outside of pipeline chain.
       - Refactored LoaderProc and got it under tests.
       - Added some more tests for the standard runner.
       - Extracted BuildConfig class.
      
      
      Bug: v8:12785
      Change-Id: I87be040e91f792a983662bb5a10d55b36a14ea7f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3701595Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Liviu Rau <liviurau@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#81770}
      b3477fdd
  13. 14 Jun, 2022 1 commit
    • Liviu Rau's avatar
      [test] Refactor testrunner (3) · 9733dacc
      Liviu Rau authored
      - removed some 'feature envy' instances:
        - created a AugmentedOptions class to take care of non trivial option look-ups
        - moved some calculation closer the the actual data
      - promoted parameter that was passed around a lot (options) to filed in the offending class
      - similar object creation looks a bit more similar
      - CommandContext provides a wrapper that ensures resource de-allocation
      - separate tests from standard and num_fuzz runners
      - added a couple of more tests to improve coverage
      
      This is still in flux. But further changes risk creating a disconnect between the original implementation and further refactorings.
      
      Bug: v8:12785
      Change-Id: I0ec2e9c6a81604a5cd1d4a80982dd3329c1b48db
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3686411
      Commit-Queue: Liviu Rau <liviurau@chromium.org>
      Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#81148}
      9733dacc
  14. 10 Jun, 2022 1 commit
  15. 01 Jun, 2022 1 commit
  16. 03 May, 2022 1 commit
  17. 29 Mar, 2022 1 commit
  18. 25 Mar, 2022 1 commit
  19. 23 Mar, 2022 1 commit
  20. 17 Mar, 2022 2 commits
  21. 02 Mar, 2022 1 commit
    • Jakob Gruber's avatar
      [maglev] Basic tiering to Maglev · 123c38a5
      Jakob Gruber authored
      When --maglev is set, tier up to Maglev from unoptimized tiers based on
      --interrupt-budget-for-maglev, initially set to 40KB (which should very
      roughly by 1/10th of the time until the TF tierup decision is made).
      On the first interrupt, a non-concurrent optimization to Maglev is
      requested, which the next call to the marked function will perform.
      
      - There is no support for tiering from Maglev to TF yet.
      - Maglev's language support is minimal and tests are not expected to
        pass with --maglev.
      - Disable --maglev by default for now.
      
      Drive-by: fixes related to Maglev flag definitions.
      
      Bug: v8:7700
      Change-Id: I121bb3f4f3830fdd20e1d4a12d3e04f08a99be38
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3500302Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#79328}
      123c38a5
  22. 04 Feb, 2022 1 commit
    • Michael Achenbach's avatar
      [infra] Make various scripts compatible with Python3 · efd28c14
      Michael Achenbach authored
      This fixes all Python3 problems in scripts and tests running via
      v8_presubmit.py. It includes:
      - Test runner
      - Release tools
      - Perf runner
      - Torque formatter
      - V8's main presubmit
      
      On bots, v8_presubmit is run with vpython, hence we also add
      the required dependencies. After the Python3 migration, most
      of the transitional code in this CL can be removed again.
      
      Bug: chromium:1293709,chromium:1292016
      Change-Id: Ic25e5965948b212c047e9d5194d2a4b6db1fa91b
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3432213Reviewed-by: 's avatarLiviu Rau <liviurau@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#78936}
      efd28c14
  23. 31 Jan, 2022 1 commit
  24. 20 Jan, 2022 1 commit
  25. 17 Jan, 2022 1 commit
  26. 11 Jan, 2022 1 commit
  27. 10 Jan, 2022 2 commits
  28. 06 Dec, 2021 1 commit
  29. 02 Dec, 2021 1 commit
  30. 01 Dec, 2021 1 commit
    • Leszek Swirski's avatar
      [compiler-dispatcher] Enqueue tasks for non-eager inner funcs · 5ab1ec1e
      Leszek Swirski authored
      Add suppose for compiling non-eager, non-top-level inner functions in
      parallel, using the compiler dispatcher. This behaviour can be enabled
      with --parallel-compile-tasks-for-lazy.
      
      There are a couple of consequences:
      
        * To support this we need support for off-thread ScopeInfo
          deserialization, so this adds that too.
        * The previous --parallel-compile-tasks flag is renamed to the more
          descriptive --parallel-compile-tasks-for-eager-toplevel.
        * Both parallel-compile-tasks flags are moved onto
          UnoptimizedCompileFlags so that they can be enabled/disabled on a
          per-compile basis (e.g. enabled for streaming, disabled for
          re-parsing).
        * asm.js compilations can now happen without an active Context (in
          the compiler dispatcher's idle finalization) so we can't get a
          ContextId for metric reporting; we'd need to somehow fix this if we
          wanted asm.js UKM but for now it's probably fine.
        * Took the opportunity to clean up some of the "can preparse" logic in
          the parser.
      
      Change-Id: I20b1ec6a6bacfe268808edc8d812b92370c5840d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3281924
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarEmanuel Ziegler <ecmziegler@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#78183}
      5ab1ec1e
  31. 30 Nov, 2021 2 commits
  32. 05 Nov, 2021 1 commit
  33. 28 Oct, 2021 1 commit
    • 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