1. 26 Feb, 2019 2 commits
  2. 25 Feb, 2019 3 commits
  3. 21 Feb, 2019 3 commits
  4. 20 Feb, 2019 1 commit
    • peterwmwong's avatar
      Reland "[builtins]: Optimize CreateTypedArray to use element size log 2 for calculations." · 02b9847f
      peterwmwong authored
      This is a reland of c9ef0405
      
      Original change's description:
      > [builtins]: Optimize CreateTypedArray to use element size log 2 for calculations.
      >
      > TypedArrayElementsInfo now represents an element's size as a log 2 and typed as
      > uintptr.  This simplifies and speeds up (avoids possible HeapNumber allocations) a
      > number of calculations:
      >
      >   - Number of Elements (length) -> Byte Length - is now a WordShl
      >   - Byte Length -> Number of Elements (length) - is now a WordShr
      >   - Testing alignment (byte offset or length)  - is now a WordAnd
      >
      > These element/byte length related calculations are encapsulated in
      > TypedArrayElementsInfo as struct methods.
      >
      > This reduces the size of CreateTypedArray by 2.125 KB (24%) on Mac x64.release:
      >   - Before: 9,088
      >   - After:  6,896
      >
      > This improves the performance of the following microbencmarks
      >   - TypedArrays-ConstructWithBuffer: ~87%
      >   - TypedArrays-SubarrayNoSpecies:   ~28%
      >
      > Bug: v8:7161
      > Change-Id: I2239fd0e0af9d3ad55cd52318088d3c7c913ae44
      > Reviewed-on: https://chromium-review.googlesource.com/c/1456299
      > Commit-Queue: Peter Wong <peter.wm.wong@gmail.com>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Simon Zünd <szuend@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#59531}
      
      Bug: v8:7161, chromium:932034
      Change-Id: I5c3dc34c549234417f95b404e7d49b2fd496fa69
      Reviewed-on: https://chromium-review.googlesource.com/c/1476306
      Commit-Queue: Peter Wong <peter.wm.wong@gmail.com>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarSimon Zünd <szuend@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59728}
      02b9847f
  5. 18 Feb, 2019 3 commits
    • Tobias Tebbi's avatar
      [csa] disable bounds checks for ToString cache accesses · 0f1ace8f
      Tobias Tebbi authored
      This addresses the JSTests/Array/OptFastForEach regression,
      which ends up spending a lot of time in the ToString builtin.
      
      Bug: chromium:932919
      Change-Id: I53cfdc61841bf10a669e54c3fdc009ead295782b
      Reviewed-on: https://chromium-review.googlesource.com/c/1477068Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
      Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59664}
      0f1ace8f
    • Tobias Tebbi's avatar
      [csa] disable bounds checks for Set/Map accessors · 185ad97c
      Tobias Tebbi authored
      This should recover the microbenchmark performance-regressions.
      
      Bug: chromium:932919
      Change-Id: I00e2345428c8730035dc1164278006d687364de7
      Reviewed-on: https://chromium-review.googlesource.com/c/1477063Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
      Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59663}
      185ad97c
    • Jakob Gruber's avatar
      Revert "[builtins]: Optimize CreateTypedArray to use element size log 2 for calculations." · ced2e4ee
      Jakob Gruber authored
      This reverts commit c9ef0405.
      
      Reason for revert: https://crbug.com/932034
      
      Original change's description:
      > [builtins]: Optimize CreateTypedArray to use element size log 2 for calculations.
      >
      > TypedArrayElementsInfo now represents an element's size as a log 2 and typed as
      > uintptr.  This simplifies and speeds up (avoids possible HeapNumber allocations) a
      > number of calculations:
      >
      >   - Number of Elements (length) -> Byte Length - is now a WordShl
      >   - Byte Length -> Number of Elements (length) - is now a WordShr
      >   - Testing alignment (byte offset or length)  - is now a WordAnd
      >
      > These element/byte length related calculations are encapsulated in
      > TypedArrayElementsInfo as struct methods.
      >
      > This reduces the size of CreateTypedArray by 2.125 KB (24%) on Mac x64.release:
      >   - Before: 9,088
      >   - After:  6,896
      >
      > This improves the performance of the following microbencmarks
      >   - TypedArrays-ConstructWithBuffer: ~87%
      >   - TypedArrays-SubarrayNoSpecies:   ~28%
      >
      > Bug: v8:7161
      > Change-Id: I2239fd0e0af9d3ad55cd52318088d3c7c913ae44
      > Reviewed-on: https://chromium-review.googlesource.com/c/1456299
      > Commit-Queue: Peter Wong <peter.wm.wong@gmail.com>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Simon Zünd <szuend@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#59531}
      
      TBR=peter.wm.wong@gmail.com,jgruber@chromium.org,petermarshall@chromium.org,szuend@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: v8:7161, chromium:932034
      Change-Id: I3da95447ce34f84d01629d2791868f3adcdfb387
      Reviewed-on: https://chromium-review.googlesource.com/c/1475764
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59645}
      ced2e4ee
  6. 15 Feb, 2019 2 commits
  7. 13 Feb, 2019 2 commits
  8. 12 Feb, 2019 2 commits
  9. 08 Feb, 2019 1 commit
  10. 06 Feb, 2019 1 commit
  11. 05 Feb, 2019 2 commits
  12. 04 Feb, 2019 1 commit
  13. 31 Jan, 2019 1 commit
  14. 29 Jan, 2019 1 commit
  15. 28 Jan, 2019 3 commits
  16. 26 Jan, 2019 1 commit
  17. 25 Jan, 2019 1 commit
    • Mythri's avatar
      Defer inferring language mode as far as possible · 592aeefa
      Mythri authored
      Inferring the language mode involves iterating the stack to find the
      closure. This is an expensive operation and should be done only when
      required. This cl changes the implementation to infer the language
      mode only when we can't defer it any further. Currently, we infer the
      language mode when throwing an exception or when passing this
      information to PropertyCallbackArguments.
      
      This cl also changes the language mode parameter to SetProperty
      related methods to Maybe<ShouldThrow>. We only use the language mode to
      decide if we need to throw and using ShouldThrow instead of language
      mode simplifies the code by avoiding conversions from Maybe<ShouldThrow>
      to Maybe<LanguageMode> and vice-versa.
      
      Bug: v8:8580, chromium:923820, chromium:925289
      Change-Id: I72497497f62fe0d86fcecd57b06b3183b7531f7b
      Reviewed-on: https://chromium-review.googlesource.com/c/1425912
      Commit-Queue: Mythri Alle <mythria@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59094}
      592aeefa
  18. 24 Jan, 2019 2 commits
  19. 22 Jan, 2019 2 commits
  20. 17 Jan, 2019 1 commit
  21. 15 Jan, 2019 1 commit
  22. 11 Jan, 2019 1 commit
  23. 10 Jan, 2019 1 commit
    • Daniel Clifford's avatar
      [torque]: Class declarations · d0e95c7a
      Daniel Clifford authored
      Class declarations support structured heap data that is a subtype of
      HeapObject. Only fields of Object subtypes (both strong and weak)
      are currently supported (no scalar fields yet).
      
      With this CL, both the field list macro used with the C++
      DEFINE_FIELD_OFFSET_CONSTANTS macro (to make field offset constants) as
      well as the Torque "operator '.field'" macros are generated for the
      classes declared in Torque. This is a first step to removing the
      substantial amount of duplication and boilerplate code
      needed to declare heap object classes.
      
      As a proof of concept, and handful of class field definitions,
      including those for non trivial classes like JSFunction, have been
      moved to Torque.
      
      Bug: v8:7793
      Change-Id: I2fa0b53db65fa6f5fe078fb94e1db3418f908753
      Reviewed-on: https://chromium-review.googlesource.com/c/1373971
      Commit-Queue: Daniel Clifford <danno@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58704}
      d0e95c7a
  24. 09 Jan, 2019 1 commit
  25. 07 Jan, 2019 1 commit