1. 01 May, 2019 1 commit
  2. 16 Oct, 2018 1 commit
    • Sathya Gunasekaran's avatar
      [class] Fix class field name initialization · bc324dbd
      Sathya Gunasekaran authored
      Previously when class names were computed and set as part of
      StoreDataPropertyInLiteral calls, it was observable to static fields
      as these static fields are initialized right after the classes were
      constructed but before the class names were installed.
      This caused the name property to be undefined for this case.
      
      Instead, this patch always forces the creation of a name property on
      the class constructor when static class fields are used. This patch
      does kill the class boilerplate optimization, but currently all static
      class fields are installed using a runtime call to CreateDataProperty
      so this isn't any worse when using static class fields.
      
      In the future, this can be optimized away by storing the name on the
      boilerplate.
      
      There is spec discussion here:
      https://github.com/tc39/proposal-class-fields/issues/85
      
      There isn't a resolution yet, there's still discussion about whether
      to have the name be undefined always for static class field
      initializers. But, I don't think that's useful as it would always kill
      our boilerplate optimization (like this patch does ..., but without the
      future optimization potential).
      
      Bug: v8:5367
      Change-Id: I14afdf7ece3f2d9fa3c659d2c0bc3806e0b17abb
      Reviewed-on: https://chromium-review.googlesource.com/c/1281002Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
      Reviewed-by: 's avatarDaniel Ehrenberg <littledan@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56686}
      bc324dbd
  3. 04 Jan, 2018 1 commit
  4. 22 Dec, 2017 1 commit
  5. 01 Dec, 2017 1 commit
  6. 28 Nov, 2017 1 commit
  7. 27 Nov, 2017 1 commit
  8. 08 Nov, 2017 2 commits
  9. 03 Nov, 2017 1 commit
  10. 27 Oct, 2017 1 commit
  11. 23 Oct, 2017 1 commit