1. 11 Jun, 2018 1 commit
  2. 08 Jun, 2018 1 commit
  3. 07 Jun, 2018 1 commit
    • Leszek Swirski's avatar
      Revert "[sfi] Remove SFI function literal id field" · b6888b63
      Leszek Swirski authored
      This reverts commit ceb9c812.
      
      Reason for revert: Tanks compile time
      
      Original change's description:
      > [sfi] Remove SFI function literal id field
      > 
      > SharedFunctionInfos store their original function literal's id. This is
      > also their index in the Script's SFI list.
      > 
      > Since the function literal id is only needed for lazy compilation and live
      > edit, we can calculate it on-the-fly by linear search in the Script SFI list,
      > and save a field on the SFI.
      > 
      > If this regresses compile performance, we could alternatively store the
      > function literal id on the preparsed scope data as future work.
      > 
      > Bug: chromium:818642
      > Change-Id: I5468cea0e115921f1c864d94e567d749a4349882
      > Reviewed-on: https://chromium-review.googlesource.com/1082480
      > Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53523}
      
      TBR=hpayer@chromium.org,leszeks@chromium.org,verwaest@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: chromium:818642
      Bug: chromium:850417
      Change-Id: If2fd21331b7062532c04004a51e705f7e9d0a151
      Reviewed-on: https://chromium-review.googlesource.com/1090494Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53573}
      b6888b63
  4. 06 Jun, 2018 1 commit
  5. 05 Jun, 2018 5 commits
  6. 04 Jun, 2018 2 commits
    • Jakob Gruber's avatar
      Revert "[array] Implement Array.p.sort in Torque" · 3348ed0b
      Jakob Gruber authored
      This reverts commit df1676e6.
      
      Reason for revert: https://crbug.com/v8/7382#c26
      
      Original change's description:
      > [array] Implement Array.p.sort in Torque
      > 
      > This CL implements a generic baseline version and 3 fastpaths, for
      > various elements kinds, of Array.p.sort in Torque. Details can be found
      > in the Design Doc: https://goo.gl/Ge321G.
      > 
      > Performance impact on micro benchmarks depends on the element kind
      > and whether the user provides a comparison function.
      > For HoleySmi/HoleyElement we have a speedup between 1.5-1.8 across
      > the board. For Dictionary we are slower in all micro benchmarks (0.7).
      > For PackedSmi it depends on the call site and whether or not a
      > comparison function is used.
      > 
      > Detailed numbers: https://goo.gl/mTyPSb
      > 
      > Bug: v8:7382
      > Change-Id: I50acabd2032af0bc01d36b0de0f555d66be56a7e
      > Reviewed-on: https://chromium-review.googlesource.com/1061523
      > Commit-Queue: Simon Zünd <szuend@google.com>
      > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53481}
      
      TBR=cbruni@chromium.org,jgruber@chromium.org,szuend@google.com
      
      Change-Id: I4c1b32a434d49caba67c80bccb068390607f90a2
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7382
      Reviewed-on: https://chromium-review.googlesource.com/1085407Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53494}
      3348ed0b
    • Simon Zünd's avatar
      [array] Implement Array.p.sort in Torque · df1676e6
      Simon Zünd authored
      This CL implements a generic baseline version and 3 fastpaths, for
      various elements kinds, of Array.p.sort in Torque. Details can be found
      in the Design Doc: https://goo.gl/Ge321G.
      
      Performance impact on micro benchmarks depends on the element kind
      and whether the user provides a comparison function.
      For HoleySmi/HoleyElement we have a speedup between 1.5-1.8 across
      the board. For Dictionary we are slower in all micro benchmarks (0.7).
      For PackedSmi it depends on the call site and whether or not a
      comparison function is used.
      
      Detailed numbers: https://goo.gl/mTyPSb
      
      Bug: v8:7382
      Change-Id: I50acabd2032af0bc01d36b0de0f555d66be56a7e
      Reviewed-on: https://chromium-review.googlesource.com/1061523
      Commit-Queue: Simon Zünd <szuend@google.com>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53481}
      df1676e6
  7. 03 Jun, 2018 1 commit
  8. 01 Jun, 2018 1 commit
  9. 31 May, 2018 2 commits
  10. 30 May, 2018 3 commits
    • Leszek Swirski's avatar
      [sfi] Compress function arg counts to 16 bit · 53d4dfc3
      Leszek Swirski authored
      Compress the parameter count (and function length) stored in
      SharedFunctionInfo to a uint16_t. This limits us to 2^16 - 1 parameters
      per function, minus one for the "don't adapt arguments" sentinel value,
      which is one fewer than Code::kMaxArguments was already. Anyway, 65534
      arguments should be enough for anyone!
      
      This drops SFI size by 4 bytes.
      
      Bug: chromium:818642
      Change-Id: I126bfb24453dcdc5087a104d3a12cf195a56fa9f
      Reviewed-on: https://chromium-review.googlesource.com/1076627
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53447}
      53d4dfc3
    • Alexey Kozyatinskiy's avatar
      [inspector] reworked async stack instrumentation for async functions · b6c9086c
      Alexey Kozyatinskiy authored
      New intstrumentation consists of:
      - kAsyncFunctionSuspended when async function is suspended on await
        (called on each await),
      - kAsyncFunctionFinished when async function is finished.
      
      Old instrumentation was based on reusing async function promise.
      Using this promise produces couple side effects:
      - for any promise instrumentation we first need to check if it is
        special case for async function promise or not - it requires
        expensive reading from promise object.
      - we capture stack for async functions even if it does not contain
        awaits.
      - we do not properly cancel async task created for async function.
      
      New intsrumntation resolved all these problems as well as provide
      clear mapping between async task and generator which we can use later
      to fetch scope information for async functions on pause.
      
      R=dgozman@chromium.org,yangguo@chromium.org
      
      Bug: v8:7078
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: Ifdcec947d91e6e3d4d5f9029bc080a19b8e23d41
      Reviewed-on: https://chromium-review.googlesource.com/1043096Reviewed-by: 's avatarSathya Gunasekaran <gsathya@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarDmitry Gozman <dgozman@chromium.org>
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53445}
      b6c9086c
    • Alexey Kozyatinskiy's avatar
      [inspector] use interrupt for pause only as last resort · 6d87d957
      Alexey Kozyatinskiy authored
      With this CL we use interrupt for pause in two cases:
      - when we process Debugger.pause on interruption,
      - when we would like to break as soon as possible after OOM.
      In all other cases, e.g. for async step into we use break
      on function call by calling StepIn debugger action.
      
      In mentioned cases we should not actually use interrupt as well:
      - Debugger.pause in this case scheduled using interrupt and we
        may just break right now without requesting another interrupt,
        unfortunately blink side is not ready,
      - we should use more reliable way to break right after near OOM
        callback, otherwise we can get this callback, increase limit,
        request break on next interrupt, before interrupt get another
        huge memory allocation and crash.
      
      There are couple advantages:
      - we get much better break locations for async stepping
        (see inspector tests expectations),
      - we can remove DEBUG_BREAK interruption
        (it should speedup blackboxing with async tasks, see
        removed todo in debug.cc for details)
      - it is required preparation step for async step out,
        (see https://chromium-review.googlesource.com/c/v8/v8/+/1054618)
      
      Bug: v8:7753
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: Iabd7627dbffa9a0eab1736064caf589d02591926
      Reviewed-on: https://chromium-review.googlesource.com/1054155
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarDmitry Gozman <dgozman@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53439}
      6d87d957
  11. 29 May, 2018 1 commit
  12. 25 May, 2018 2 commits
  13. 24 May, 2018 4 commits
  14. 23 May, 2018 1 commit
  15. 17 May, 2018 1 commit
  16. 16 May, 2018 1 commit
  17. 09 May, 2018 1 commit
  18. 08 May, 2018 1 commit
  19. 04 May, 2018 4 commits
  20. 03 May, 2018 1 commit
  21. 02 May, 2018 2 commits
  22. 01 May, 2018 1 commit
  23. 26 Apr, 2018 2 commits