1. 13 May, 2020 1 commit
  2. 05 May, 2020 1 commit
  3. 31 Mar, 2020 1 commit
  4. 17 Mar, 2020 1 commit
  5. 27 Feb, 2020 2 commits
  6. 25 Feb, 2020 1 commit
  7. 10 Feb, 2020 1 commit
  8. 10 Jan, 2020 1 commit
    • Seth Brenith's avatar
      [torque] move more bitfield definitions to Torque · 87c16da5
      Seth Brenith authored
      This change moves the definitions of the bitfield flags used by Symbol
      and Map to Torque. Symbol could directly follow the pattern established
      by SharedFunctionInfo, but Map required some other changes:
      - Until now, Torque bitfield definitions have required unsigned types. I
        thought that this would be the least-surprising behavior, since we
        never sign-extend when decoding bitfield values. However, I believe
        that the amount of churn involved in making ElementsKind be unsigned
        outweighs the benefit we were getting from this restriction (and
        similar difficulties are likely to arise in converting other bitfield
        structs to Torque), so this CL updates Torque to allow signed bitfield
        values.
      - If we try to make Map extend from all of the generated classes that
        define its flags, we end up with class sizing problems because some
        compilers only apply empty base class optimization to the first in a
        row of empty base classes. We could work around this issue by
        generating macros instead of classes, but I took this as an
        opportunity for a minor clean-up instead: rather than having bitfield
        definitions for several different bitfield structs all jumbled
        together in Map, they can be split up. I think this makes the code a
        little easier to follow, but if others disagree I'm happy to implement
        macro generation instead.
      
      Change-Id: Ibf339b0be97f72d740bf1daa8300b471912faeba
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1988934Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      Cr-Commit-Position: refs/heads/master@{#65701}
      87c16da5
  9. 08 Jan, 2020 1 commit
  10. 08 Nov, 2019 2 commits
    • Michael Starzinger's avatar
      [wasm] Remove runtime call support from Liftoff. · bfe13285
      Michael Starzinger authored
      This removes the support to emit runtime calls in Liftoff code and uses
      WebAssembly runtime stubs instead. Calls to such stubs are smaller and
      more efficient. They also use embedded builtins directly instead of the
      on-heap {Code} object trampolines. This also removes the last use of a
      runtime call that passes a dynamically loaded CEntry builtin from the
      macro assembler.
      
      R=clemensb@chromium.org
      
      Change-Id: I9fa9f3b7a2b66cb76a677b70ce3cee49cb340f0f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903443
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#64855}
      bfe13285
    • Clemens Backes's avatar
      [utils] Move {WhichPowerOf2} to base::bits · fa056cd0
      Clemens Backes authored
      {WhichPowerOf2} is basically the same as {CountTrailingZeros}, with a
      restriction to powers of two. Since it does not use or depend on any v8
      internals, it can be moved to src/base/bits.h.
      This CL also changes the implementation to use the CTZ builtin if
      available, and falls back to popcnt otherwise.
      
      Drive-by: Make it constexpr, and rename to {WhichPowerOfTwo}.
      
      R=sigurds@chromium.org
      
      Bug: v8:9810, v8:8912
      Change-Id: I8368d098f9ab1247f3b9f036f1385a38de10cc6a
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903966Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#64851}
      fa056cd0
  11. 04 Nov, 2019 1 commit
    • Milad Farazmand's avatar
      PPC/s390: Reland "Reland: [builtins] Move non-JS linkage builtins code objects into RO_SPACE" · 29112b47
      Milad Farazmand authored
      Port 352bbb12
      
      Original Commit Message:
      
          This is a reland of 855591a5
      
          Fixes break in builds that verify ReadOnlyHeap by relaxing the requirement for
          Code objects to be in CODE_SPACE in PagedSpaceObjectIterator::FromCurrentPage.
      
          Original change's description:
          > Reland: [builtins] Move non-JS linkage builtins code objects into RO_SPACE
          >
          > Reland of https://chromium-review.googlesource.com/c/v8/v8/+/1795358.
          >
          > [builtins] Move non-JS linkage builtins code objects into RO_SPACE
          >
          > Creates an allow-list of builtins that can still go in code_space
          > including all TFJ builtins and a small manual list that should be pared
          > down in the future.
          >
          > For builtins that go in RO_SPACE a Code object is created that contains an
          > immediate trap instruction. Generally these Code objects are still no
          > smaller than CODE_SPACE Code objects because of the Code object alignment
          > requirements. This will hopefully be addressed in a follow-up CL either by
          > relaxing them or removing the instruction stream completely.
          >
          > In the snapshot, this reduces code_space from ~152k to ~40k (-112k) and
          > increases by the same amount.
          >
          > Change-Id: I76661c35c7ea5866c1fb16e87e87122b3e3ca0ce
          > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893336
          > Commit-Queue: Dan Elphick <delphick@chromium.org>
          > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
          > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
          > Cr-Commit-Position: refs/heads/master@{#64700}
      
      R=delphick@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Change-Id: If150434119828a87e295b0639c934392812bb345
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1896904Reviewed-by: 's avatarMilad Farazmand <miladfar@ca.ibm.com>
      Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#64741}
      29112b47
  12. 31 Oct, 2019 4 commits
    • Milad Farazmand's avatar
      Revert "PPC/s390: Reland: [builtins] Move non-JS linkage builtins code objects into RO_SPACE" · 32b2d32c
      Milad Farazmand authored
      This reverts commit 94456e5c.
      
      Reason for revert: <INSERT REASONING HERE>
      
      Original change's description:
      > PPC/s390: Reland: [builtins] Move non-JS linkage builtins code objects into RO_SPACE
      > 
      > Port 855591a5
      > 
      > Original Commit Message:
      > 
      >     Reland of https://chromium-review.googlesource.com/c/v8/v8/+/1795358.
      > 
      >     [builtins] Move non-JS linkage builtins code objects into RO_SPACE
      > 
      >     Creates an allow-list of builtins that can still go in code_space
      >     including all TFJ builtins and a small manual list that should be pared
      >     down in the future.
      > 
      >     For builtins that go in RO_SPACE a Code object is created that contains an
      >     immediate trap instruction. Generally these Code objects are still no
      >     smaller than CODE_SPACE Code objects because of the Code object alignment
      >     requirements. This will hopefully be addressed in a follow-up CL either by
      >     relaxing them or removing the instruction stream completely.
      > 
      >     In the snapshot, this reduces code_space from ~152k to ~40k (-112k) and
      >     increases by the same amount.
      > 
      > R=​delphick@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      > BUG=
      > LOG=N
      > 
      > Change-Id: Ibd0713a17df9c873692553f2d57f4ba36bcdb342
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893746
      > Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
      > Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      > Cr-Commit-Position: refs/heads/master@{#64704}
      
      TBR=michael_dawson@ca.ibm.com,jyan@ca.ibm.com,joransiu@ca.ibm.com,delphick@chromium.org,miladfar@ca.ibm.com
      
      Change-Id: I808a4220892dcfef66b4b9d90ab43bf403d2e9b0
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1894353Reviewed-by: 's avatarMilad Farazmand <miladfar@ca.ibm.com>
      Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#64705}
      32b2d32c
    • Milad Farazmand's avatar
      PPC/s390: Reland: [builtins] Move non-JS linkage builtins code objects into RO_SPACE · 94456e5c
      Milad Farazmand authored
      Port 855591a5
      
      Original Commit Message:
      
          Reland of https://chromium-review.googlesource.com/c/v8/v8/+/1795358.
      
          [builtins] Move non-JS linkage builtins code objects into RO_SPACE
      
          Creates an allow-list of builtins that can still go in code_space
          including all TFJ builtins and a small manual list that should be pared
          down in the future.
      
          For builtins that go in RO_SPACE a Code object is created that contains an
          immediate trap instruction. Generally these Code objects are still no
          smaller than CODE_SPACE Code objects because of the Code object alignment
          requirements. This will hopefully be addressed in a follow-up CL either by
          relaxing them or removing the instruction stream completely.
      
          In the snapshot, this reduces code_space from ~152k to ~40k (-112k) and
          increases by the same amount.
      
      R=delphick@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Change-Id: Ibd0713a17df9c873692553f2d57f4ba36bcdb342
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893746Reviewed-by: 's avatarJunliang Yan <jyan@ca.ibm.com>
      Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#64704}
      94456e5c
    • Milad Farazmand's avatar
      PPC/s390: [codegen] Removed ParameterCount class · 9d77a8af
      Milad Farazmand authored
      Port 1e696896
      
      Original Commit Message:
      
          It was used only with Register inputs, so we can replace its uses with
          the Registers themselves.
      
      R=solanes@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Change-Id: I6b325ccefd226c96de45a74068b1d02611a846cb
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1892195Reviewed-by: 's avatarJunliang Yan <jyan@ca.ibm.com>
      Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#64677}
      9d77a8af
    • Milad Farazmand's avatar
      PPC/s390: [builtins] Remove ParameterCount uses from InvokeFunction(Code) · dba86292
      Milad Farazmand authored
      Port 46648402
      
      Original Commit Message:
      
          CallDebugOnFunctionCall was always using Registers and not Immediates.
          Then ParameterCount is not really needed. Since updating that, we
          could update other functions, e.g InvokeFunction, to only use
          registers too.
      
          Also removed now irrelevant variables, e.g definitely_mismatches.
      
      R=solanes@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Change-Id: Ie0348998503bf4f416440f056e4296d22d064d4d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1892171Reviewed-by: 's avatarJoran Siu <joransiu@ca.ibm.com>
      Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#64665}
      dba86292
  13. 30 Oct, 2019 2 commits
  14. 25 Oct, 2019 1 commit
    • Milad Farazmand's avatar
      PPC/s390: PPC/s390: Reland^2 "[runtime] Move Context::native_context to the map" · 26539972
      Milad Farazmand authored
      Port 36ab93d8
      
      Original Commit Message:
      
          Port 3cad6bf5
      
          Original Commit Message:
      
              This is a reland of c7c47c68.
      
              This makes TSAN happy in addition to:
      
              Previously I presumed that the context read from a frame in the profiler was
              a valid context. Turns out that on non-intel we're not guaranteed that the
              frame is properly set up. In the case we looked at, the profiler took a
              sample right before writing the frame marker indicating a builtin frame,
              causing the "context" pointer from that frame to be a bytecode array. Since
              we'll read random garbage on the stack as a possible context pointer, I made
              the code reading the native context from it a little more defensive.
      
              Original change's description:
              > [runtime] Move Context::native_context to the map
              >
              > Remove the native context slot from contexts by making context maps
              > native-context-specific. Now we require 2 loads to go from a context to the
              > native context, but we have 1 field fewer to store when creating contexts.
              >
              > Change-Id: I3c0d7c50c94060c4129db684f46a567de6f30e8d
              > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859629
              > Commit-Queue: Toon Verwaest <verwaest@chromium.org>
              > Reviewed-by: Igor Sheludko <ishell@chromium.org>
              > Reviewed-by: Peter Marshall <petermarshall@chromium.org>
              > Reviewed-by: Maya Lekova <mslekova@chromium.org>
              > Reviewed-by: Georg Neis <neis@chromium.org>
              > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
              > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
              > Cr-Commit-Position: refs/heads/master@{#64296}
      
      R=miladfar@ca.ibm.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Change-Id: I996a1f5096b34fc556918752224ff51889f0a5ce
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1879443Reviewed-by: 's avatarJunliang Yan <jyan@ca.ibm.com>
      Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#64570}
      26539972
  15. 22 Oct, 2019 1 commit
  16. 17 Oct, 2019 1 commit
    • Milad Farazmand's avatar
      PPC/s390: Reland^2 "[runtime] Move Context::native_context to the map" · 36ab93d8
      Milad Farazmand authored
      Port 3cad6bf5
      
      Original Commit Message:
      
          This is a reland of c7c47c68.
      
          This makes TSAN happy in addition to:
      
          Previously I presumed that the context read from a frame in the profiler was
          a valid context. Turns out that on non-intel we're not guaranteed that the
          frame is properly set up. In the case we looked at, the profiler took a
          sample right before writing the frame marker indicating a builtin frame,
          causing the "context" pointer from that frame to be a bytecode array. Since
          we'll read random garbage on the stack as a possible context pointer, I made
          the code reading the native context from it a little more defensive.
      
          Original change's description:
          > [runtime] Move Context::native_context to the map
          >
          > Remove the native context slot from contexts by making context maps
          > native-context-specific. Now we require 2 loads to go from a context to the
          > native context, but we have 1 field fewer to store when creating contexts.
          >
          > Change-Id: I3c0d7c50c94060c4129db684f46a567de6f30e8d
          > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859629
          > Commit-Queue: Toon Verwaest <verwaest@chromium.org>
          > Reviewed-by: Igor Sheludko <ishell@chromium.org>
          > Reviewed-by: Peter Marshall <petermarshall@chromium.org>
          > Reviewed-by: Maya Lekova <mslekova@chromium.org>
          > Reviewed-by: Georg Neis <neis@chromium.org>
          > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
          > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
          > Cr-Commit-Position: refs/heads/master@{#64296}
      
      R=verwaest@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Change-Id: I48b21f189e782a338eb2508edd57b7b2cf5ce240
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1865607Reviewed-by: 's avatarJunliang Yan <jyan@ca.ibm.com>
      Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#64362}
      36ab93d8
  17. 30 Sep, 2019 2 commits
  18. 25 Sep, 2019 1 commit
  19. 24 Sep, 2019 1 commit
  20. 29 Aug, 2019 1 commit
  21. 01 Aug, 2019 1 commit
  22. 11 Jul, 2019 1 commit
  23. 14 Jun, 2019 1 commit
  24. 13 Jun, 2019 1 commit
  25. 28 May, 2019 1 commit
  26. 27 May, 2019 2 commits
  27. 24 May, 2019 1 commit
  28. 23 May, 2019 1 commit
  29. 22 May, 2019 1 commit
  30. 21 May, 2019 1 commit
  31. 20 May, 2019 1 commit
  32. 17 May, 2019 1 commit
    • Yang Guo's avatar
      Revert "Move logging and diagnostics related source files" · 81a0102f
      Yang Guo authored
      This reverts commit 5f285395.
      
      Reason for revert: presubmit failure
      
      Original change's description:
      > Move logging and diagnostics related source files
      > 
      > This also introduces a COMMON_OWNERS file, which is derived from the
      > current top-level OWNERS file. It is to be used for parts of the
      > codebase that is not sensitive to domain-specific expertise.
      > 
      > NOPRESUBMIT=true
      > TBR=verwaest@chromium.org
      > 
      > Bug: v8:9247
      > Change-Id: I34a5eaa7cb1509a80d15094a2aceedd62665b17c
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613987
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Commit-Queue: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#61600}
      
      TBR=rmcilroy@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org
      
      Change-Id: I3827c3af4fd63b18aa48c49617f318a01746e813
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:9247
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617247Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61601}
      81a0102f