1. 06 Dec, 2021 1 commit
  2. 30 Sep, 2021 2 commits
  3. 11 Aug, 2021 1 commit
  4. 17 May, 2021 1 commit
  5. 06 May, 2021 1 commit
    • Fanchen Kong's avatar
      Collect receiver to feedback for prototype.apply · 519c82ce
      Fanchen Kong authored
      When a function is invoked by prototype.apply, it may undergo following transformation in the JSCallReducer:
      	receiver.apply(this, args) ->
      	this.receiver(...args) Since the new target (also the receiver of apply()) is not collected to the feedback slot, further speculative optimization on the new target is not available if the new target
      is not a heapconstant.
      
      With this CL, the receiver will be collected to the feedback instead of the target if the target is a prototype.apply. It may improve the performance of the following usecase by ~80%.
      
      function reduceArray(func, arr, r) {
          for (var i = 0, len = arr.length; i < len; i++) {
                  r = func.apply(null, r, arr[i]);
          }
          return r;
      }
      
      var a = 0; for (var i = 0; i < 10000000; i++) {
          a += reduceArray(Math.imul, [5,6,2,3,7,6,8,3,7,9,2,5,], 1);
      }
      console.log(a);
      
      This CL also improves the runTime score of JetStream2/richards-wasm by ~45% in default, ~60% with --turbo-inline-js-wasm-calls.
      
      Change-Id: I542eb8d3fcb592f4e0993af93ba1af70e89c3982
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639813
      Commit-Queue: Fanchen Kong <fanchen.kong@intel.com>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#74413}
      519c82ce
  6. 27 Apr, 2021 1 commit
  7. 03 Mar, 2021 1 commit
  8. 17 Feb, 2021 1 commit
  9. 12 Feb, 2021 1 commit
  10. 07 Sep, 2020 1 commit
  11. 12 May, 2020 1 commit
  12. 11 May, 2020 1 commit
  13. 07 May, 2020 1 commit
  14. 28 Apr, 2020 1 commit
  15. 22 Apr, 2020 1 commit
  16. 20 Apr, 2020 1 commit
  17. 04 Mar, 2020 1 commit
  18. 10 Jan, 2020 1 commit
  19. 09 Jan, 2020 1 commit
  20. 08 Jan, 2020 3 commits
    • Joshua Litt's avatar
      Revert "Reland "Reland "[promises] Port Promise.race to Torque.""" · e5e8685c
      Joshua Litt authored
      This reverts commit d6556fbd.
      
      Reason for revert: ugh, accidentally submitted this
      
      Original change's description:
      > Reland "Reland "[promises] Port Promise.race to Torque.""
      > 
      > This reverts commit 2225d242.
      > 
      > Reason for revert: clusterfuzz fixed
      > 
      > Original change's description:
      > > Revert "Reland "[promises] Port Promise.race to Torque.""
      > > 
      > > This reverts commit 766aeb99.
      > > 
      > > Reason for revert: clusterfuzz
      > > Bug: chromium:1040238
      > > 
      > > Original change's description:
      > > > Reland "[promises] Port Promise.race to Torque."
      > > >
      > > > Fixes clusterfuzz bug.
      > > >
      > > > This is a reland of 15ec4a09
      > > >
      > > > Original change's description:
      > > > > [promises] Port Promise.race to Torque.
      > > > >
      > > > > Bug: v8:9838
      > > > > Change-Id: Iee3bcaa3a7149309c01d16be67d189ccc56bd0e8
      > > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1965919
      > > > > Commit-Queue: Joshua Litt <joshualitt@chromium.org>
      > > > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > > > > Cr-Commit-Position: refs/heads/master@{#65562}
      > > >
      > > > Bug: v8:9838
      > > > Change-Id: Id295a12023195511289d92517936733ab22cdf4b
      > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1988542
      > > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > > > Commit-Queue: Joshua Litt <joshualitt@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#65613}
      > > 
      > > TBR=jgruber@chromium.org,tebbi@chromium.org,joshualitt@chromium.org
      > > 
      > > 
      > > Bug: v8:9838
      > > Change-Id: I1d14eae04ee228806f69b489ab2d86e87fec1ae5
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1991808
      > > Reviewed-by: Joshua Litt <joshualitt@chromium.org>
      > > Auto-Submit: Joshua Litt <joshualitt@chromium.org>
      > > Commit-Queue: Joshua Litt <joshualitt@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#65649}
      > 
      > TBR=jgruber@chromium.org,tebbi@chromium.org,joshualitt@chromium.org
      > 
      > Change-Id: I9dda79c99070478443db1a2d8190bd27b4e990d3
      > No-Presubmit: true
      > No-Tree-Checks: true
      > No-Try: true
      > Bug: chromium:1040238, v8:9838
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1992605
      > Reviewed-by: Joshua Litt <joshualitt@chromium.org>
      > Commit-Queue: Joshua Litt <joshualitt@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#65650}
      
      TBR=jgruber@chromium.org,tebbi@chromium.org,joshualitt@chromium.org
      
      Change-Id: I8cf8909e4e4d9ec59fd80eaa6804a8421b0626a6
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:1040238, v8:9838
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1992606Reviewed-by: 's avatarJoshua Litt <joshualitt@chromium.org>
      Commit-Queue: Joshua Litt <joshualitt@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65651}
      e5e8685c
    • Joshua Litt's avatar
      Reland "Reland "[promises] Port Promise.race to Torque."" · d6556fbd
      Joshua Litt authored
      This reverts commit 2225d242.
      
      Reason for revert: clusterfuzz fixed
      
      Original change's description:
      > Revert "Reland "[promises] Port Promise.race to Torque.""
      > 
      > This reverts commit 766aeb99.
      > 
      > Reason for revert: clusterfuzz
      > Bug: chromium:1040238
      > 
      > Original change's description:
      > > Reland "[promises] Port Promise.race to Torque."
      > >
      > > Fixes clusterfuzz bug.
      > >
      > > This is a reland of 15ec4a09
      > >
      > > Original change's description:
      > > > [promises] Port Promise.race to Torque.
      > > >
      > > > Bug: v8:9838
      > > > Change-Id: Iee3bcaa3a7149309c01d16be67d189ccc56bd0e8
      > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1965919
      > > > Commit-Queue: Joshua Litt <joshualitt@chromium.org>
      > > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#65562}
      > >
      > > Bug: v8:9838
      > > Change-Id: Id295a12023195511289d92517936733ab22cdf4b
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1988542
      > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > > Commit-Queue: Joshua Litt <joshualitt@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#65613}
      > 
      > TBR=jgruber@chromium.org,tebbi@chromium.org,joshualitt@chromium.org
      > 
      > 
      > Bug: v8:9838
      > Change-Id: I1d14eae04ee228806f69b489ab2d86e87fec1ae5
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1991808
      > Reviewed-by: Joshua Litt <joshualitt@chromium.org>
      > Auto-Submit: Joshua Litt <joshualitt@chromium.org>
      > Commit-Queue: Joshua Litt <joshualitt@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#65649}
      
      TBR=jgruber@chromium.org,tebbi@chromium.org,joshualitt@chromium.org
      
      Change-Id: I9dda79c99070478443db1a2d8190bd27b4e990d3
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:1040238, v8:9838
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1992605Reviewed-by: 's avatarJoshua Litt <joshualitt@chromium.org>
      Commit-Queue: Joshua Litt <joshualitt@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65650}
      d6556fbd
    • Joshua Litt's avatar
      Revert "Reland "[promises] Port Promise.race to Torque."" · 2225d242
      Joshua Litt authored
      This reverts commit 766aeb99.
      
      Reason for revert: clusterfuzz
      Bug: chromium:1040238
      
      Original change's description:
      > Reland "[promises] Port Promise.race to Torque."
      >
      > Fixes clusterfuzz bug.
      >
      > This is a reland of 15ec4a09
      >
      > Original change's description:
      > > [promises] Port Promise.race to Torque.
      > >
      > > Bug: v8:9838
      > > Change-Id: Iee3bcaa3a7149309c01d16be67d189ccc56bd0e8
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1965919
      > > Commit-Queue: Joshua Litt <joshualitt@chromium.org>
      > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#65562}
      >
      > Bug: v8:9838
      > Change-Id: Id295a12023195511289d92517936733ab22cdf4b
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1988542
      > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > Commit-Queue: Joshua Litt <joshualitt@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#65613}
      
      TBR=jgruber@chromium.org,tebbi@chromium.org,joshualitt@chromium.org
      
      
      Bug: v8:9838
      Change-Id: I1d14eae04ee228806f69b489ab2d86e87fec1ae5
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1991808Reviewed-by: 's avatarJoshua Litt <joshualitt@chromium.org>
      Auto-Submit: Joshua Litt <joshualitt@chromium.org>
      Commit-Queue: Joshua Litt <joshualitt@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65649}
      2225d242
  21. 07 Jan, 2020 1 commit
  22. 06 Jan, 2020 1 commit
  23. 27 Dec, 2019 1 commit
  24. 20 Dec, 2019 1 commit
    • Tobias Tebbi's avatar
      Revert "Extend GetIterator bytecode to perform JSReceiver check on object[Symbol.iterator]()" · 4671cb56
      Tobias Tebbi authored
      This reverts commit 91e3243d.
      
      Reason for revert: This deopts to the wrong point.
      
      Original change's description:
      > Extend GetIterator bytecode to perform JSReceiver check on object[Symbol.iterator]()
      > 
      > Current GetIterator bytecode loads and calls @@iterator property on a
      > given object. This change extends the bytecode functionality to check
      > whether the value returned after calling @@iterator property is a valid
      > JSReceiver. The bytecode throws SymbolIteratorInvalid exception if the
      > returned value is not a valid JSReceiver. This change absorbs the
      > functionality of additional two bytecodes - JumpIfJSReceiver and
      > CallRuntime, that are part of the iterator protocol in the GetIterator
      > bytecode.
      > 
      > Bug: v8:9489
      > Change-Id: I9e84cfe85eeb9a1b8a97ca0595375ac26ba1bbfd
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1792905
      > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
      > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > Commit-Queue: Swapnil Gaikwad <swapnilgaikwad@google.com>
      > Cr-Commit-Position: refs/heads/master@{#63704}
      
      TBR=rmcilroy@chromium.org,leszeks@chromium.org,tebbi@chromium.org,swapnilgaikwad@google.com
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: v8:9489
      Change-Id: I9324b5b01ead29912ad793a1e7b4d009643d7901
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1960288Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65541}
      4671cb56
  25. 24 Oct, 2019 1 commit
  26. 22 Oct, 2019 1 commit
    • Tobias Tebbi's avatar
      [torque] replace name mangling with unique numbering · 419b4e7e
      Tobias Tebbi authored
      Name mangling is hard to get right and not easy to read.
      This CL replaces the remaining name mangling of types and generics
      with simpler names that are not always unique, but then fixes them
      up by appending a unique counter.
      
      For struct types, this required an @export annotation since we use some
      struct types in CSA.
      
      Drive-by-fixes:
      
      - Overwrite the copy constructor of Type to clear the list
      of alias names when creating a new type.
      
      - Change the existing append-a-number scheme to have different
        counters for each name. This the number of changed names when adding
        something and is more readable.
      
      Bug: v8:7793
      Change-Id: Ied11ea1a251130f4562ddc0d81967368349e0bf6
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1866650
      Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#64449}
      419b4e7e
  27. 19 Sep, 2019 1 commit
  28. 12 Sep, 2019 1 commit
  29. 09 Sep, 2019 1 commit
  30. 06 Sep, 2019 1 commit
    • Swapnil Gaikwad's avatar
      Reland "Update GetIterator bytecode to load and call object[Symbol.iterator]" · ffa9f163
      Swapnil Gaikwad authored
      This is a reland of 8b89a7c3
      
      Reland after disabling the test getting deadlocked with '--gc_stress' flag.
      The CL was reverted because of the 'wasm/grow-shared-memory' test from
      the mjsunit test suite deadlocked for the 'gc_stress' variant. This is
      the known issue (v8:9221) and the deadlocking test is now disabled (
      https://chromium.googlesource.com/v8/v8.git/+/1c8981e3f4729b7a8220a8823e0a0d45f2a4b788).
      
      
      Original change's description:
      > Update GetIterator bytecode to load and call object[Symbol.iterator]
      >
      > The functionality of the GetIterator bytecode introduced previously is
      > now extended from loading the @@iterator property to calling the property
      > as well. This change basically absorbs the functionality of additional
      > two bytecodes - Star, CallProperty0 in the GetIterator bytecode.
      > Importantly, this change handles the cases of eager and lazy deoptimization
      > in the middle of the bytecode, i.e., lazy deopt for LdaNamedProperty and
      > eager deopt of the CallProperty0 bytecode, using the continuation builtins.
      > This mechanism can work as a template for the future bytecode that require
      > handling such inter-bytecode deopt scenario. The tests evaluating the eager
      > and lazy deopt scenarios are also included.
      >
      > Bug: v8:9489
      > Change-Id: I93eb022bbc3d37582407820aa8482a343cac6c12
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1758313
      > Commit-Queue: Swapnil Gaikwad <swapnilgaikwad@google.com>
      > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#63528}
      
      Bug: v8:9489,v8:9221
      Change-Id: I4286255aef457bfdbbe5eb50fc6dabdf9c0955b1
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1787427Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Commit-Queue: Swapnil Gaikwad <swapnilgaikwad@google.com>
      Cr-Commit-Position: refs/heads/master@{#63599}
      ffa9f163
  31. 03 Sep, 2019 2 commits
    • Francis McCabe's avatar
      Revert "Update GetIterator bytecode to load and call object[Symbol.iterator]" · af04a51e
      Francis McCabe authored
      This reverts commit 8b89a7c3.
      
      Reason for revert: GC Stress tests timing out.
      See https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/24272
      
      Original change's description:
      > Update GetIterator bytecode to load and call object[Symbol.iterator]
      > 
      > The functionality of the GetIterator bytecode introduced previously is
      > now extended from loading the @@iterator property to calling the property
      > as well. This change basically absorbs the functionality of additional
      > two bytecodes - Star, CallProperty0 in the GetIterator bytecode.
      > Importantly, this change handles the cases of eager and lazy deoptimization
      > in the middle of the bytecode, i.e., lazy deopt for LdaNamedProperty and
      > eager deopt of the CallProperty0 bytecode, using the continuation builtins.
      > This mechanism can work as a template for the future bytecode that require
      > handling such inter-bytecode deopt scenario. The tests evaluating the eager
      > and lazy deopt scenarios are also included.
      > 
      > Bug: v8:9489
      > Change-Id: I93eb022bbc3d37582407820aa8482a343cac6c12
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1758313
      > Commit-Queue: Swapnil Gaikwad <swapnilgaikwad@google.com>
      > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#63528}
      
      TBR=rmcilroy@chromium.org,neis@chromium.org,leszeks@chromium.org,tebbi@chromium.org,swapnilgaikwad@google.com
      
      Change-Id: I9ae475f71275f71f1b9e60b8bf0578e21ce2704b
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:9489
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1783736Reviewed-by: 's avatarFrancis McCabe <fgm@chromium.org>
      Commit-Queue: Francis McCabe <fgm@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63536}
      af04a51e
    • Swapnil Gaikwad's avatar
      Update GetIterator bytecode to load and call object[Symbol.iterator] · 8b89a7c3
      Swapnil Gaikwad authored
      The functionality of the GetIterator bytecode introduced previously is
      now extended from loading the @@iterator property to calling the property
      as well. This change basically absorbs the functionality of additional
      two bytecodes - Star, CallProperty0 in the GetIterator bytecode.
      Importantly, this change handles the cases of eager and lazy deoptimization
      in the middle of the bytecode, i.e., lazy deopt for LdaNamedProperty and
      eager deopt of the CallProperty0 bytecode, using the continuation builtins.
      This mechanism can work as a template for the future bytecode that require
      handling such inter-bytecode deopt scenario. The tests evaluating the eager
      and lazy deopt scenarios are also included.
      
      Bug: v8:9489
      Change-Id: I93eb022bbc3d37582407820aa8482a343cac6c12
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1758313
      Commit-Queue: Swapnil Gaikwad <swapnilgaikwad@google.com>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63528}
      8b89a7c3
  32. 26 Aug, 2019 1 commit
    • Tobias Tebbi's avatar
      Reland "[torque] introduce JSAny type for user-accessible JavaScript values" · 1ef99b93
      Tobias Tebbi authored
      Changes in the reland: Rebased and added a check that JavaScript-linkage
      builtins use JSAny in parameters and return type, plus the necessary
      cleanups for this test to pass.
      
      Design Doc: https://docs.google.com/document/d/1z6j0pWHnNIfId0v00uWN2HBrGRDJxJfYuCr5K7Kr1xA
      
      This reverts commit 4418a7b9.
      
      Original change's description:
      > Revert "[torque] introduce JSAny type for user-accessible JavaScript values"
      >
      > 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/+/1741652
      > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#63115}
      
      TBR=neis@chromium.org,jgruber@chromium.org,tebbi@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: v8:7793
      Change-Id: Icca34e3824f55009b984d9348fd21884400f0081
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1769316
      Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63395}
      1ef99b93
  33. 09 Aug, 2019 1 commit
  34. 07 Aug, 2019 2 commits
    • 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
  35. 19 Jun, 2019 1 commit