1. 06 Sep, 2018 2 commits
  2. 05 Sep, 2018 5 commits
    • Ujjwal Sharma's avatar
      [intl] Port pluralrules#resolvedOptions to C++ · 31142ba4
      Ujjwal Sharma authored
      Bug: v8:5751
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Change-Id: I7b126a318480c0d35d6440aa7aea109529ea8ee2
      Reviewed-on: https://chromium-review.googlesource.com/1208651
      Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
      Reviewed-by: 's avatarSathya Gunasekaran <gsathya@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55665}
      31142ba4
    • Simon Zünd's avatar
      [array] Use CallCFunction3 for SmiLexicographicCompare · c433112c
      Simon Zünd authored
      This CL changes the call-site of SmiLexicographicCompare to a fast
      c call instead of a runtime call. The runtime function is not deleted
      as it is still used in InnerArraySort.
      
      The test is also moved from mjsunit to cctest, to make removal of the
      runtime function easier in the future.
      
      R=cbruni@chromium.org, jgruber@chromium.org
      
      Bug: v8:7382
      Change-Id: Ie961eeb094c13018e9ec28b68f7c444d7f889036
      Reviewed-on: https://chromium-review.googlesource.com/1201587
      Commit-Queue: Simon Zünd <szuend@google.com>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55642}
      c433112c
    • Hai Dang's avatar
      Reland "[interpreter] Add bytecode for leading array spreads." · 5f8a4272
      Hai Dang authored
      This is a reland of 1c48d52b.
      
      It turned out that IterableToList doesn't always behave according to
      the ES operation with the same name. Specifically, it allows holey arrays
      to take its fast path, which produces an output array with holes where
      actually "undefined" elements should appear.
      
      This CL changes the version of IterableToList that is used for spreads
      (IterableToListWithSymbolLookup) such that holey arrays take the slow path.
      It also includes tests for such situations.
      
      Original change's description:
      > [interpreter] Add bytecode for leading array spreads.
      >
      > This CL improves the performance of creating [...a, b] or [...a].
      > If the array literal has a leading spread, this CL emits the bytecode
      > [CreateArrayFromIterable] to create the literal. CreateArrayFromIterable
      > is implemented by [IterableToListDefault] builtin to create the initial
      > array for the leading spread. IterableToListDefault has a fast path to
      > clone efficiently if the spread is an actual array.
      >
      > The bytecode generated is now shorter. Bytecode generation is refactored
      > into to BuildCreateArrayLiteral, which allows VisitCallSuper to benefit
      > from this optimization also.
      > For now, turbofan also lowers the bytecode to the builtin.
      >
      > The idiomatic use of [...a] to clone the array a now performs better
      > than a simple for-loop, but still does not match the performance of slice.
      >
      > Bug: v8:7980
      >
      > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      > Change-Id: Ibde659c82d3c7aa1b1777a3d2f6426ac8cc15e35
      > Reviewed-on: https://chromium-review.googlesource.com/1181024
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Commit-Queue: Hai Dang <dhai@google.com>
      > Cr-Commit-Position: refs/heads/master@{#55520}
      
      Bug: v8:7980
      Change-Id: I0b5603a12d2b588327658bf0a9b214bd0f22e237
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/1201882
      Commit-Queue: Hai Dang <dhai@google.com>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55639}
      5f8a4272
    • Ujjwal Sharma's avatar
      [intl] Port BreakIterator to C++ · f2d07ec5
      Ujjwal Sharma authored
      Port CreateBreakIterator and BreakIterator.prototype.resolvedOptions to
      C++, refactoring the entire class into another one called
      JSV8BreakIterator that would be a subclass of JSObject.
      
      TBR: benedikt@chromium.org
      Bug: v8:8111
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Change-Id: I9bd1d82ec34b210c8ed59ea6576548d45a34b8d5
      Reviewed-on: https://chromium-review.googlesource.com/1198946
      Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
      Reviewed-by: 's avatarSathya Gunasekaran <gsathya@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55627}
      f2d07ec5
    • Frank Tang's avatar
      [Intl] Move most functions from DateFormat to JSDateTimeFormat · 41db90b0
      Frank Tang authored
      Move Unwrap,FormatDateTime,DateTimeFormat,ToDateTimeOptions,ToLocaleDateTime to JSDateTimeFormat
      
      Bug: v8:8066
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng;luci.chromium.try:linux_chromium_rel_ng
      Change-Id: I4d83cc96ea280ab8f77df5a431b877b76b05f1ac
      Reviewed-on: https://chromium-review.googlesource.com/1198142
      Commit-Queue: Frank Tang <ftang@chromium.org>
      Reviewed-by: 's avatarJungshik Shin <jshin@chromium.org>
      Reviewed-by: 's avatarSathya Gunasekaran <gsathya@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55626}
      41db90b0
  3. 04 Sep, 2018 4 commits
  4. 03 Sep, 2018 2 commits
  5. 31 Aug, 2018 5 commits
  6. 30 Aug, 2018 2 commits
    • Hai Dang's avatar
      [interpreter] Add bytecode for leading array spreads. · 1c48d52b
      Hai Dang authored
      This CL improves the performance of creating [...a, b] or [...a].
      If the array literal has a leading spread, this CL emits the bytecode
      [CreateArrayFromIterable] to create the literal. CreateArrayFromIterable
      is implemented by [IterableToListDefault] builtin to create the initial
      array for the leading spread. IterableToListDefault has a fast path to
      clone efficiently if the spread is an actual array.
      
      The bytecode generated is now shorter. Bytecode generation is refactored
      into to BuildCreateArrayLiteral, which allows VisitCallSuper to benefit
      from this optimization also.
      For now, turbofan also lowers the bytecode to the builtin.
      
      The idiomatic use of [...a] to clone the array a now performs better
      than a simple for-loop, but still does not match the performance of slice.
      
      Bug: v8:7980
      
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Change-Id: Ibde659c82d3c7aa1b1777a3d2f6426ac8cc15e35
      Reviewed-on: https://chromium-review.googlesource.com/1181024Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Georg Neis <neis@chromium.org>
      Commit-Queue: Hai Dang <dhai@google.com>
      Cr-Commit-Position: refs/heads/master@{#55520}
      1c48d52b
    • Michael Starzinger's avatar
      [wasm] Remove bogus Isolate::wasm_caught_exception. · 7b621a73
      Michael Starzinger authored
      This removes the thread-local field in question. This side-channel for
      the "caught exception" is not needed, we can just explicitly pass the
      exception value to all support functions. Also, there is an inherent
      problem with having this side-channel, as it will not be properly reset
      when an exception handler ends up not rethrowing the exception.
      
      R=ahaas@chromium.org
      BUG=v8:8097
      
      Change-Id: I2fdaff89f0eb318ce5a33bf56513165185547c1b
      Reviewed-on: https://chromium-review.googlesource.com/1194063Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55517}
      7b621a73
  7. 29 Aug, 2018 2 commits
  8. 28 Aug, 2018 4 commits
  9. 27 Aug, 2018 2 commits
  10. 25 Aug, 2018 1 commit
  11. 24 Aug, 2018 4 commits
  12. 23 Aug, 2018 4 commits
  13. 22 Aug, 2018 3 commits
    • Camillo Bruni's avatar
      Reland "[runtime] Improve for-in performance" · 827e6d12
      Camillo Bruni authored
      This is a reland of 8fa7f9ed
      
      Original change's description:
      > [runtime] Improve for-in performance
      > 
      > - Add fast-path String conversion for Smi (which is the most common case)
      >   This improves for-in by ~10% on non-initialized enum-caches
      > - Don't use the NumberStringCache for large indices to not overflow the cache
      >   during key collection. This improves worst-case performance by ~2.5x
      > - Drop number_to_string_native and number_to_string_runtime counters
      > 
      > Bug: v8:7717
      > Change-Id: Ic1ff385e3374e6a7e7e7bdb9ae75fb8c238105d1
      > Reviewed-on: https://chromium-review.googlesource.com/1167049
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55233}
      
      Bug: v8:7717
      Change-Id: Ie29041b20ca4a06b8e74a4378e7c1118373072ae
      Reviewed-on: https://chromium-review.googlesource.com/1183721
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55316}
      827e6d12
    • Hai Dang's avatar
      Change IterableToList's check to a CSA call instead of a runtime call. · d65b3f4d
      Hai Dang authored
      The conditions checked by the CSA IsFastJSArrayWithNoCustomIteration is actually
      stronger than that of the runtime IterableToListCanBeElided. In particular,
      while IterableToListCanBeElided only checks that the prototype has no element
      when the array is holey, IsFastJSArrayWithNoCustomIteration always requires
      that the prototype has no element.
      
      Bug: v8:7980
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Change-Id: I28b086428d79682392413fb4182923184d7c1836
      Reviewed-on: https://chromium-review.googlesource.com/1183671
      Commit-Queue: Hai Dang <dhai@google.com>
      Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55312}
      d65b3f4d
    • Tobias Tebbi's avatar
      Revert "[builtins] Reland Array.prototype.splice() Torque implementation." · e99a1092
      Tobias Tebbi authored
      This reverts commit cdaaa311.
      
      Reason for revert: chromium:876445 chromium:876453 chromium:876443
      
      Original change's description:
      > [builtins] Reland Array.prototype.splice() Torque implementation.
      > 
      > Before, splice was implemented with a C++ fast path and a
      > comprehensive JavaScript version.
      > 
      > This impl. is entirely in Torque with a fastpath for SMI,
      > DOUBLE and OBJECT arrays, and a comprehensive slow path.
      > The same level of "sparse" array support as given by the
      > array.js implementation is included.
      > 
      > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      > Change-Id: Ia7334a30b401988309e9909cfa0069da0bb6fb9f
      > Reviewed-on: https://chromium-review.googlesource.com/1169466
      > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55263}
      
      TBR=mvstanton@chromium.org,jgruber@chromium.org,tebbi@chromium.org
      
      Change-Id: I5b750a98e671b7284474ffcabc6b4d37a9d1219e
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/1184741Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55289}
      e99a1092