1. 28 Feb, 2020 7 commits
  2. 27 Feb, 2020 20 commits
  3. 26 Feb, 2020 13 commits
    • Seth Brenith's avatar
      Move a bunch of bitfield definitions to Torque · 74131bdd
      Seth Brenith authored
      This allows Torque code to refer to these bitfields (not currently
      relevant for any of these classes), and allows the postmortem debugging
      API to provide details about these bitfields.
      
      Change-Id: I79c74a3c5ef1f77e839720a4e8ee1f8482a576ca
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2049870
      Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66471}
      74131bdd
    • Victor Gomes's avatar
      [runtime] Add arguments type: kRuntime and kJS. · 61e117d7
      Victor Gomes authored
      This adds static types to the argument class that accesss the arguments in the
      stack. kRuntime arguments are used by runtime functions and kJS arguments
      are used to access the JS stack (eg. builtins).
      
      The distinction allows the reversal of arguments in the JS stack without
      changing the runtime arguments order.
      
      Bug: v8:10201
      Change-Id: I7c08164d53c4071c7910836fa733dee8ff7fa680
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2066985
      Commit-Queue: Victor Gomes <victorgomes@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Auto-Submit: Victor Gomes <victorgomes@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66470}
      61e117d7
    • Clemens Backes's avatar
      [api] Remove deprecated wasm module type check · 700b1b97
      Clemens Backes authored
      The method was deprecated in favor of {IsWasmModuleObject}.
      
      R=adamk@chromium.org
      
      Bug: v8:10155
      Change-Id: Id21a1b74dde5576c2c82cc209555c22209a9e5d4
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2033170Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66469}
      700b1b97
    • Clemens Backes's avatar
      Reland "[wasm] Refactor callback triggering" · 9a96f1bb
      Clemens Backes authored
      This is a reland of 0dc598df
      
      Original change's description:
      > [wasm] Refactor callback triggering
      > 
      > 1) Instead of passing three boolean values to |TriggerCallbacks|, pass
      >    one EnumSet which contains all events to trigger.
      > 2) Remember which events already happened, to avoid triggering them
      >    again.
      > 3) Compute triggered events once after the loop in |OnFinishedUnits|,
      >    instead of checking for every finished unit.
      > 4) When a new callback is registered, trigger all previous events
      >    immediately. This solves issue v8:10217.
      > 5) Replace |NotifyTopTierReady| by |AddCallback| which is identical now.
      > 6) Do not call |OnFinishedJSToWasmWrapperUnits| if no wrappers were
      >    compiled (this is a minor performance optimization; we save taking
      >    and releasing a lock).
      > 7) Drive-by: Make the |EnumSet| constructor really constexpr (by making
      >    |Mask| constexpr).
      > 
      > R=ahaas@chromium.org
      > 
      > Bug: v8:10217
      > Change-Id: Ib3688a1687ad7b523e90efd73f4073e9f1193016
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2072737
      > Commit-Queue: Clemens Backes <clemensb@chromium.org>
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#66459}
      
      Bug: v8:10217
      Change-Id: I9f7ca424fa7f1d0379dabe230bebf62522dfc857
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2074501Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66468}
      9a96f1bb
    • Milad Farazmand's avatar
      s390: [wasm-simd] Implement simd shuffle · c9023c2c
      Milad Farazmand authored
      Change-Id: I3da840cdabf6d0ed8c4d823855acb999a0167167
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2073206Reviewed-by: 's avatarJunliang Yan <jyan@ca.ibm.com>
      Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#66467}
      c9023c2c
    • Georg Neis's avatar
      Fix printing of ArrayBoilerplateDescription · a8c8e87d
      Georg Neis authored
      It used to print the elements kind as a byte, thus producing \000 etc.
      This also broke the json produced by --trace-turbo.
      
      Change-Id: I2f9ce5cb5815ab30fd7866e52fa5ab2732904e1b
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2074640
      Commit-Queue: Georg Neis <neis@chromium.org>
      Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
      Auto-Submit: Georg Neis <neis@chromium.org>
      Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66466}
      a8c8e87d
    • Seth Brenith's avatar
      Reland "[torque] Support bitfield structs stored within Smis" · 527f9de1
      Seth Brenith authored
      This reverts commit 4dc1fb4e.
      
      Reason for revert: the regression from the original change was likely due to unlucky factors like code alignment.
      
      Original change's description:
      > Revert "[torque] Support bitfield structs stored within Smis"
      >
      > This reverts commit e5e4ea96.
      >
      > Reason for revert: mysterious performance regression chromium:1052756
      >
      > Original change's description:
      > > [torque] Support bitfield structs stored within Smis
      > >
      > > This change moves the definition of the bits stored in DebugInfo::flags
      > > to Torque, and updates the only Torque usage of that field to use more
      > > natural syntax. This is intended as an example of common patterns found
      > > in various other classes. Several supporting changes are required:
      > >
      > > 1. Add a new type representing a bitfield struct stored within a Smi. It
      > >    is currently called SmiTagged, but I'm open to suggestions.
      > > 2. Add an enum-style output for Torque bitfield structs whose bitfields
      > >    occupy only one bit each.
      > > 3. Add a new case to MachineOperatorReducer that makes the generated
      > >    code for IncBlockCounter match with what was generated before this
      > >    change.
      > > 4. Add support for reporting these bitfields in the postmortem debugging
      > >    API. The format matches existing bitfields but with an offset value
      > >    that includes the SMI shift size.
      > >
      > > Bug: v8:7793
      > > Change-Id: Icaecbe4a162da55d2d9a3a35a8ea85b285b2f1b7
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2028832
      > > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#66182}
      >
      > Bug: chromium:1052756, v8:7793
      > Change-Id: I9e2897efbb6321124bf4952cf09de2f179f7310d
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2062569
      > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#66349}
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: chromium:1052756, v8:7793
      Change-Id: I6087928aa14c8551ebd294513bd8d6ffa402a0d4
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2070635Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      Cr-Commit-Position: refs/heads/master@{#66465}
      527f9de1
    • Nico Hartmann's avatar
      [turbofan] Allocation-free string to double conversion · a6cea204
      Nico Hartmann authored
      Bug: v8:7790
      Change-Id: Ib5fe2727e52a62931cb1bd5ae84fa423a9f6c670
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2071262Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66464}
      a6cea204
    • Victor Gomes's avatar
      [builtins] Reverse arguments order of TF builtins with JS linkage · bf20d7d1
      Victor Gomes authored
      Bug: v8:10201
      Change-Id: Ie6dbd43ff776b7a5b777923d659edf3038783567
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2074498
      Commit-Queue: Victor Gomes <victorgomes@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Auto-Submit: Victor Gomes <victorgomes@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66463}
      bf20d7d1
    • Clemens Backes's avatar
      [wasm] Reduce size of {WasmCode} objects · c626bc5e
      Clemens Backes authored
      This is a first step to make {WasmCode} objects smaller. Many code
      offsets are currently stored in {size_t} even though there were
      originally (during assembly) an int. Others are stored in {uint32_t}.
      
      This CL switches the function index and all code lengths and offsets to
      int, because
      a) bigger code is not supported anyway, and
      b) the style guide recommends int over unsigned types.
      
      This makes the {WasmCode} 24 bytes smaller on x64 (from 144 to 120
      bytes).
      
      R=ahaas@chromium.org
      
      Bug: v8:10254
      Change-Id: I8f78bf4be64d59cf9393e3b6662d9d3bd153d387
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2074217Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66462}
      c626bc5e
    • Clemens Backes's avatar
      Revert "[wasm] Refactor callback triggering" · 6a2865d2
      Clemens Backes authored
      This reverts commit 0dc598df.
      
      Reason for revert: Fails the wasm-cache-test blink test.
      
      Original change's description:
      > [wasm] Refactor callback triggering
      > 
      > 1) Instead of passing three boolean values to |TriggerCallbacks|, pass
      >    one EnumSet which contains all events to trigger.
      > 2) Remember which events already happened, to avoid triggering them
      >    again.
      > 3) Compute triggered events once after the loop in |OnFinishedUnits|,
      >    instead of checking for every finished unit.
      > 4) When a new callback is registered, trigger all previous events
      >    immediately. This solves issue v8:10217.
      > 5) Replace |NotifyTopTierReady| by |AddCallback| which is identical now.
      > 6) Do not call |OnFinishedJSToWasmWrapperUnits| if no wrappers were
      >    compiled (this is a minor performance optimization; we save taking
      >    and releasing a lock).
      > 7) Drive-by: Make the |EnumSet| constructor really constexpr (by making
      >    |Mask| constexpr).
      > 
      > R=​ahaas@chromium.org
      > 
      > Bug: v8:10217
      > Change-Id: Ib3688a1687ad7b523e90efd73f4073e9f1193016
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2072737
      > Commit-Queue: Clemens Backes <clemensb@chromium.org>
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#66459}
      
      TBR=ahaas@chromium.org,clemensb@chromium.org
      
      Change-Id: I564b053e898db5f7b51cefa4626c0625a225c89a
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:10217
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2074638Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66461}
      6a2865d2
    • Dominik Inführ's avatar
      [heap] Enable usage of ArrayBufferExtensions · 4c7c6f73
      Dominik Inführ authored
      Switch the flag to true to enable ArrayBufferExtensions by default. The
      last CL (https://crrev.com/c/2065088) that tried to enable this was
      reverted because of alignment issues on ARM64
      (fixed in https://crrev.com/c/2071256).
      
      Bug: v8:10064
      Change-Id: I47f478c978094fb5038113eb452865748956b42e
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2074157Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66460}
      4c7c6f73
    • Clemens Backes's avatar
      [wasm] Refactor callback triggering · 0dc598df
      Clemens Backes authored
      1) Instead of passing three boolean values to |TriggerCallbacks|, pass
         one EnumSet which contains all events to trigger.
      2) Remember which events already happened, to avoid triggering them
         again.
      3) Compute triggered events once after the loop in |OnFinishedUnits|,
         instead of checking for every finished unit.
      4) When a new callback is registered, trigger all previous events
         immediately. This solves issue v8:10217.
      5) Replace |NotifyTopTierReady| by |AddCallback| which is identical now.
      6) Do not call |OnFinishedJSToWasmWrapperUnits| if no wrappers were
         compiled (this is a minor performance optimization; we save taking
         and releasing a lock).
      7) Drive-by: Make the |EnumSet| constructor really constexpr (by making
         |Mask| constexpr).
      
      R=ahaas@chromium.org
      
      Bug: v8:10217
      Change-Id: Ib3688a1687ad7b523e90efd73f4073e9f1193016
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2072737
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66459}
      0dc598df