1. 12 Aug, 2019 4 commits
  2. 09 Aug, 2019 16 commits
  3. 08 Aug, 2019 13 commits
  4. 07 Aug, 2019 7 commits
    • Gus Caplan's avatar
      Initial implementation of optional chaining · ceb7bd59
      Gus Caplan authored
      Each LHS expression that contains an optional chain of some form is
      wrapped in an OptionalChain node. This root node allows us to use a
      single jump location for every individual item in the chain,
      improving the performance and simplifying the implementation.
      
      Bug: v8:9553
      Change-Id: I678563928b2dbfd6200bff55801919d4fd816962
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1723359
      Commit-Queue: Adam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63120}
      ceb7bd59
    • Santiago Aboy Solanes's avatar
      [ptr-compr][turbofan] Mark as (Compressed|Tagged)(Pointer|Signed) when possible · d109cdb1
      Santiago Aboy Solanes authored
      In instruction selector we were tagging as Compressed or Tagged Any when
      we could have been more specific. Also, we were marking as Word32 or Word64
      when we should have been using CompressedSigned or TaggedSigned, respectively.
      
      Drive-by cleanup: Rename MarkAsReference to MarkAsTagged.
      
      Bug: v8:7703
      Change-Id: I4df7a17e25cfa51a1e11eac0af40be21efb50990
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1739367Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63119}
      d109cdb1
    • Eric Seckler's avatar
      microtask queue: Fix trace event ordering. · 66741e4e
      Eric Seckler authored
      The previous ordering caused a SCOPED event to end after its parent
      event, which isn't really supported in the trace format.
      
      Change-Id: I2ddaa12596604499366854231506c889d910f951
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1741926Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Eric Seckler <eseckler@chromium.org>
      Auto-Submit: Eric Seckler <eseckler@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63118}
      66741e4e
    • Michael Achenbach's avatar
      Whitespace change to trigger bots · bc7c2604
      Michael Achenbach authored
      TBR=santa
      
      Change-Id: I05cdd74eea6f2b02158d6d9854f35a08b455edd4
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1741656Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63117}
      bc7c2604
    • Ross McIlroy's avatar
      [Compile] Replace resetting of feedback vector with CHECK_EQ. · d7d97192
      Ross McIlroy authored
      Previous differences in eager and lazy parsing meant that it was possible
      that feedback vectors could be different for the same function depending on
      how it was compiled. These issues have now been fixed, so remove the workaround
      and add an explicit CHECK that the feedback vectors are the same.
      
      BUG=chromium:984344,v8:9511
      
      Change-Id: I0edfa350b1a2f236db1ee2f86bc46690da926af1
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1741650
      Auto-Submit: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63116}
      d7d97192
    • Tobias Tebbi's avatar
      Revert "[torque] introduce JSAny type for user-accessible JavaScript values" · 4418a7b9
      Tobias Tebbi authored
      This reverts commit 79b00555.
      
      Reason for revert: needs more discussion
      
      Original change's description:
      > [torque] introduce JSAny type for user-accessible JavaScript values
      > 
      > This CL introduces a JSAny type for user-exposed JavaScript values and
      > a few new types to define it. Especially, it splits Symbol into
      > PrivateSymbol (not exposed) and PublicSymbol (JavaScript exposed
      > symbols).
      > 
      > The change is mostly mechanical, but a few things are interesting:
      > - PropertyKey and JSPrimitive were designed to coincide with the spec
      >   notions of IsPropertyKey() and primitive value, respectively.
      > - Since Name is an open type, we define AnyName to be the known
      >   subtypes of Name. This is not too elegant, but by using AnyName
      >   instead of Name, typeswitch can properly conclude something if a
      >   subtype of Name is excluded.
      > 
      > Small drive-by changes, which were necessary:
      > - Allow subtyping on label parameters.
      > - Fix the formatting of typeswitch, it was broken with union types
      >   in case types.
      > 
      > Bug: v8:7793
      > Change-Id: I14b10507f8cf316ad85e048fe8d53d1df5e0bb13
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1735322
      > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#63114}
      
      TBR=neis@chromium.org,jgruber@chromium.org,tebbi@chromium.org
      
      Change-Id: Ifde7881d74afe407628f40047997339d54cb2424
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7793
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1741652Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63115}
      4418a7b9
    • Tobias Tebbi's avatar
      [torque] introduce JSAny type for user-accessible JavaScript values · 79b00555
      Tobias Tebbi authored
      This CL introduces a JSAny type for user-exposed JavaScript values and
      a few new types to define it. Especially, it splits Symbol into
      PrivateSymbol (not exposed) and PublicSymbol (JavaScript exposed
      symbols).
      
      The change is mostly mechanical, but a few things are interesting:
      - PropertyKey and JSPrimitive were designed to coincide with the spec
        notions of IsPropertyKey() and primitive value, respectively.
      - Since Name is an open type, we define AnyName to be the known
        subtypes of Name. This is not too elegant, but by using AnyName
        instead of Name, typeswitch can properly conclude something if a
        subtype of Name is excluded.
      
      Small drive-by changes, which were necessary:
      - Allow subtyping on label parameters.
      - Fix the formatting of typeswitch, it was broken with union types
        in case types.
      
      Bug: v8:7793
      Change-Id: I14b10507f8cf316ad85e048fe8d53d1df5e0bb13
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1735322
      Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63114}
      79b00555