1. 04 Feb, 2022 1 commit
    • Nico Hartmann's avatar
      Reland "Reland "[Torque] Generalize Torque literals to larger size"" · 362b30eb
      Nico Hartmann authored
      This is a reland of 517ed4ad
      
      Original change's description:
      > Reland "[Torque] Generalize Torque literals to larger size"
      >
      > Previously, literals in Torque were stored as double values, which
      > made it impossible to precisely represent 64 bit integer values.
      > This CL replaces the old literal expression with an integer and
      > floating point literal expression that are unbounded in size. We
      > allow implicit conversion of these literals to arbitary integer
      > and floating point types respectively and insert a corresponding
      > bounds check into generated CSA.
      >
      > Changes in the reland: Simplified IntegerLiteral to single digit.
      >
      > Bug: v8:7793, chromium:1289282
      > Change-Id: I31c762c2f31165c7a1d0b07842b764e5851ce189
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3406750
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
      > Cr-Commit-Position: refs/heads/main@{#78811}
      
      Bug: v8:7793, chromium:1289282
      Change-Id: I7aadc4d2c9494f03eae85e94949c8f4cab7a075c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3437047Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#78939}
      362b30eb
  2. 28 Jan, 2022 1 commit
    • Nico Hartmann's avatar
      Revert "Reland "[Torque] Generalize Torque literals to larger size"" · d96934c7
      Nico Hartmann authored
      This reverts commit 517ed4ad.
      
      Reason for revert: There still seems to be an issue on V8 Win msvc related to this CL (https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Win64%20-%20msvc/20568/overview).
      
      Original change's description:
      > Reland "[Torque] Generalize Torque literals to larger size"
      >
      > Previously, literals in Torque were stored as double values, which
      > made it impossible to precisely represent 64 bit integer values.
      > This CL replaces the old literal expression with an integer and
      > floating point literal expression that are unbounded in size. We
      > allow implicit conversion of these literals to arbitary integer
      > and floating point types respectively and insert a corresponding
      > bounds check into generated CSA.
      >
      > Changes in the reland: Simplified IntegerLiteral to single digit.
      >
      > Bug: v8:7793, chromium:1289282
      > Change-Id: I31c762c2f31165c7a1d0b07842b764e5851ce189
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3406750
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
      > Cr-Commit-Position: refs/heads/main@{#78811}
      
      Bug: v8:7793, chromium:1289282
      Change-Id: I818cec9625fbd827a4a30088d8c8b759fb6c50d7
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3424484
      Owners-Override: Nico Hartmann <nicohartmann@chromium.org>
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#78847}
      d96934c7
  3. 27 Jan, 2022 1 commit
  4. 20 Jan, 2022 2 commits
  5. 19 Jan, 2022 1 commit
  6. 18 Jan, 2022 1 commit
  7. 08 Dec, 2021 1 commit
    • Leszek Swirski's avatar
      [compiler] Introduce ReusableUnoptimizedCompileState · b3e1eb0c
      Leszek Swirski authored
      Introduce a ReusableUnoptimizedCompileState class, passed to ParseInfo,
      which stores a couple of pointers and most importantly the Zone and
      AstValueFactory of the parse. This allows the Zone and AstValueFactory
      to be reused across multiple parses, rather than re-initialising
      per-Parse.
      
      With this, we can amend the LazyCompileDispatcher to initialise one
      LocalIsolate, Zone and AstValueFactory per background thread loop,
      rather than one per compile task, which allows us to reduce per-task
      costs and re-use the AstValueFactory's string table and previous String
      internalizations.
      
      Change-Id: Ia0e29c4e31fbe29af57674ebb10916865d38b2ce
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3313106Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#78289}
      b3e1eb0c
  8. 30 Nov, 2021 1 commit
  9. 11 Nov, 2021 1 commit
  10. 27 Sep, 2021 1 commit
  11. 13 Sep, 2021 1 commit
  12. 10 Aug, 2021 1 commit
    • Jakob Kummerow's avatar
      [bigint] Faster parsing from small strings · 7817cf1f
      Jakob Kummerow authored
      This patch significantly speeds up parsing of small BigInts. Its
      primary idea is to move the loop that's iterating over the string
      into the FromStringAccumulator API. That enables using function-
      local variables instead of member fields.
      A second optimization is to use a stack-allocated digit_t[] array
      for small sizes, before falling back to a (comparatively slow)
      std::vector.
      As a particularly fast path, when this stack-allocated storage is
      guaranteed to be enough, we can perform inlined multiply-and-add
      steps directly on that data.
      Finally, this patch changes the conversion of characters to their
      numeric values from computations to a lookup table, which is a bit
      faster for radixes <= 10 (where, in the old code, only one range
      needed to be checked), and a lot faster for radixes > 10.
      
      Bug: v8:11515
      Change-Id: Ifd8ec4799ac34447ba6d4350b7788b559307784c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3064603
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#76210}
      7817cf1f
  13. 30 Jul, 2021 1 commit
  14. 02 Jul, 2021 2 commits
    • Zhi An Ng's avatar
      Revert "[build] Separate out inspector as a shared library" · 50fb0a2f
      Zhi An Ng authored
      This reverts commit 92bfb63c.
      
      Reason for revert: Broke build https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20shared/43249/overview
      
      Original change's description:
      > [build] Separate out inspector as a shared library
      >
      > This makes src/inspector:inspector into a v8_component producing a
      > shared library in component builds. To enable this, all of its exported
      > are now marked with V8_INSPECTOR_EXPORT.
      >
      > This also inverts the dependency between src/inspector:inspector and
      > :v8_base_without_compiler, and instead makes d8 and some tests depend on
      > inspector rather than getting it via v8.
      >
      > As a result, the no_check_targets exclusions list in .gn is reduced.
      >
      > Ultimately embedders like chromium should depend on :v8 and optionally
      > src/inspector:inspector, but to allow that transition to occur, this
      > renames :v8 to :v8_lib and introduces a new :v8 which depends on v8 and
      > inspector. Once all embedders have changed to reflect the new structure,
      > this part can be reverted.
      >
      > Bug: v8:11917
      > Change-Id: Ia8b15f07fb15acc5e1f111b1a80248def4285fd0
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2999088
      > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Commit-Queue: Dan Elphick <delphick@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#75532}
      
      Bug: v8:11917
      Change-Id: I0ed27ed95211d13b8b3438a8c0a42d577806c475
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3003452
      Auto-Submit: Zhi An Ng <zhin@chromium.org>
      Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Cr-Commit-Position: refs/heads/master@{#75533}
      50fb0a2f
    • Dan Elphick's avatar
      [build] Separate out inspector as a shared library · 92bfb63c
      Dan Elphick authored
      This makes src/inspector:inspector into a v8_component producing a
      shared library in component builds. To enable this, all of its exported
      are now marked with V8_INSPECTOR_EXPORT.
      
      This also inverts the dependency between src/inspector:inspector and
      :v8_base_without_compiler, and instead makes d8 and some tests depend on
      inspector rather than getting it via v8.
      
      As a result, the no_check_targets exclusions list in .gn is reduced.
      
      Ultimately embedders like chromium should depend on :v8 and optionally
      src/inspector:inspector, but to allow that transition to occur, this
      renames :v8 to :v8_lib and introduces a new :v8 which depends on v8 and
      inspector. Once all embedders have changed to reflect the new structure,
      this part can be reverted.
      
      Bug: v8:11917
      Change-Id: Ia8b15f07fb15acc5e1f111b1a80248def4285fd0
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2999088Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75532}
      92bfb63c
  15. 24 Jun, 2021 3 commits
  16. 23 Jun, 2021 1 commit
  17. 22 Jun, 2021 1 commit
  18. 18 Jun, 2021 1 commit
  19. 10 Jun, 2021 1 commit
  20. 26 Apr, 2021 1 commit
  21. 21 Apr, 2021 1 commit
  22. 25 Feb, 2021 1 commit
  23. 25 Nov, 2020 2 commits
  24. 24 Nov, 2020 1 commit
  25. 20 Nov, 2020 1 commit
  26. 17 Nov, 2020 2 commits
  27. 12 Nov, 2020 1 commit
  28. 20 Oct, 2020 1 commit
  29. 08 Sep, 2020 1 commit
  30. 07 Sep, 2020 1 commit
  31. 03 Sep, 2020 1 commit
    • Jakob Kummerow's avatar
      Revert "Check interrupts in runtime BigInt parser" · ec49e377
      Jakob Kummerow authored
      This reverts commit 825c61d8.
      
      Reason for revert: Processing interrupts triggers a DisallowHeapAllocation scope failure.
      
      Original change's description:
      > Check interrupts in runtime BigInt parser
      > 
      > The BigInt constructor has quadratic complexity while parsing strings,
      > and the input is unbounded. Interrupts should be checked during this
      > operation to ensure the host has control over runaway execution.
      > 
      > Change-Id: I15db9adeeafadc7b866a395dd8263aa8c2109ce8
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2384166
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#69679}
      
      TBR=jkummerow@chromium.org,leszeks@chromium.org,marcel@laverdet.com
      
      Bug: chromium:1124477
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Change-Id: I1ba8c1de1f809f71a1c4fae9b56a8bd40f9f7e7f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2392815Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69703}
      ec49e377
  32. 02 Sep, 2020 1 commit
  33. 14 Aug, 2020 1 commit
    • Leszek Swirski's avatar
      [offthread] Change OffThreadIsolate to LocalIsolate · f1589bbe
      Leszek Swirski authored
      This patch introduces a new LocalIsolate and LocalFactory, which use
      LocalHeap and replace OffThreadIsolate and OffThreadFactory. This allows
      us to remove those classes, as well as the related OffThreadSpace,
      OffThreadLargeObjectSpace, OffThreadHeap, and OffThreadTransferHandle.
      OffThreadLogger becomes LocalLogger.
      
      LocalHeap behaves more like Heap than OffThreadHeap did, so this allows
      us to additionally remove the concept of "Finish" and "Publish" that the
      OffThreadIsolate had, and allows us to internalize strings directly with
      the newly-concurrent string table (where the implementation can now move
      to FactoryBase).
      
      This patch also removes the off-thread support from the deserializer
      entirely, as well as removing the LocalIsolateWrapper which allowed
      run-time distinction between Isolate and OffThreadIsolate. LocalHeap
      doesn't support the reservation model used by the deserializer, and we
      will likely move the deserializer to use LocalIsolate unconditionally
      once we figure out the details of how to do this.
      
      Bug: chromium:1011762
      
      Change-Id: I1a1a0a72952b19a8a4c167c11a863c153a1252fc
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2315990
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Auto-Submit: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69397}
      f1589bbe
  34. 20 Jul, 2020 1 commit