1. 19 Apr, 2018 1 commit
  2. 18 Apr, 2018 2 commits
  3. 05 Apr, 2018 2 commits
  4. 04 Apr, 2018 1 commit
    • Igor Sheludko's avatar
      [ic] Implement TransitionArray lookup in CSA. · 139fe2db
      Igor Sheludko authored
      Drive-by cleanup: remove megamorphic stub cache lookup support from generic property
      store code. This lookup is no longer necessary because
      1) fast stores to existing properties get all the information from the map,
      2) transitioning store targets are taken directly from the transition array,
      so in both cases there's no point in doing a store handler lookup.
      
      Bug: v8:5988
      Change-Id: I95c0a08e7d1a76bb0f4475a9bd685e4e11e16a48
      Reviewed-on: https://chromium-review.googlesource.com/983921
      Commit-Queue: Igor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52349}
      139fe2db
  5. 28 Mar, 2018 2 commits
  6. 07 Nov, 2017 1 commit
  7. 06 Nov, 2017 2 commits
  8. 28 Sep, 2017 1 commit
  9. 15 Sep, 2017 1 commit
  10. 11 Aug, 2017 1 commit
  11. 28 Jul, 2017 1 commit
    • Jakob Kummerow's avatar
      Refactor TransitionArray access · e567dd3a
      Jakob Kummerow authored
      in preparation for caching StoreIC-Transition handlers in there.
      This CL should not change behavior or performance.
      
      The TransitionArray class no longer serves a dual purpose; it is now
      simply the data structure serving that role. Further, it now supports
      storing transitioning handlers in its "target" slot, which in turn have
      a WeakCell pointing to the transition target (but this functionality
      is not being used yet).
      
      The interface for accessing a map's transitions, previously implemented
      as a set of static functions, is now handled by the TransitionsAccessor
      class. It distinguishes the following internal states:
      - kPrototypeInfo: map is a prototype map, will never cache any transitions.
      - kUninitialized: map can cache transitions, but doesn't have any.
      - kWeakCell: map caches a single transition, stored inline. Formerly known
                   as "IsSimpleTransition".
      - kFullTransitionArray: map uses a TransitionArray to store transitions.
      - kTuple3Handler, kFixedArrayHandler: to be used in the future for caching
                                            transitioning handlers.
      
      Change-Id: If2aa68390981f96f317b958445a6e0b935c2a14e
      Reviewed-on: https://chromium-review.googlesource.com/550118Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46981}
      e567dd3a
  12. 24 Jul, 2017 1 commit
    • Igor Sheludko's avatar
      Revert "Reland "[runtime] Add shortcuts for elements kinds transitions."" · 5520cae3
      Igor Sheludko authored
      This reverts commit 6e27386d.
      
      Reason for revert: There will be another much simpler and
      back-mergeable fix.
      
      Original change's description:
      > Reland "[runtime] Add shortcuts for elements kinds transitions."
      > 
      > This is a reland of b90e83f5
      > Original change's description:
      > > [runtime] Add shortcuts for elements kinds transitions.
      > >
      > > The shortcuts ensure that field type generalization is properly
      > > propagated in the transition graph.
      > >
      > > Bug: chromium:738763
      > > Change-Id: Id701a6f95ed6ea093c707fbe0bac228f1f856e9f
      > > Reviewed-on: https://chromium-review.googlesource.com/567992
      > > Commit-Queue: Igor Sheludko <ishell@chromium.org>
      > > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#46622}
      > 
      > Bug: chromium:738763, chromium:742346, chromium:742381, chromium:745844
      > Change-Id: I93974e3906b2c7710bd525f15037a2dd97f263ad
      > Reviewed-on: https://chromium-review.googlesource.com/575227
      > Commit-Queue: Igor Sheludko <ishell@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#46759}
      
      TBR=ulan@chromium.org,jkummerow@chromium.org,ishell@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: chromium:738763, chromium:742346, chromium:742381, chromium:745844
      Change-Id: I203dc748c47db554e0a86d61f0e2b7b8b96f2370
      Reviewed-on: https://chromium-review.googlesource.com/581547
      Commit-Queue: Igor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46826}
      5520cae3
  13. 19 Jul, 2017 1 commit
  14. 18 Jul, 2017 1 commit
  15. 14 Jul, 2017 1 commit
  16. 13 Jul, 2017 1 commit
  17. 07 Oct, 2016 3 commits
  18. 22 Apr, 2016 1 commit
  19. 10 Mar, 2016 1 commit
  20. 18 Feb, 2016 1 commit
  21. 11 Dec, 2015 1 commit
  22. 10 Dec, 2015 1 commit
    • ishell's avatar
      Fix Function subclassing. · dddcd0ac
      ishell authored
      Function subclasses did not have function properties installed (name, prototype, etc.).
      Now when an instance of a Function subclass is created it gets initial map that corresponds
      to the language mode of the function body. The language mode dependent maps are cached as
      special transitions on initial map of the subclass constructor.
      
      BUG=v8:4597, v8:3101, v8:3330
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1510753005
      
      Cr-Commit-Position: refs/heads/master@{#32764}
      dddcd0ac
  23. 03 Dec, 2015 1 commit
  24. 30 Nov, 2015 2 commits
  25. 25 Nov, 2015 1 commit
  26. 30 Sep, 2015 1 commit
  27. 18 Jun, 2015 1 commit
  28. 17 Jun, 2015 1 commit
  29. 06 Mar, 2015 1 commit
  30. 05 Mar, 2015 2 commits
    • jkummerow's avatar
      Revert of Simplify and compact transitions storage (patchset #4 id:80001 of... · 948a973d
      jkummerow authored
      Revert of Simplify and compact transitions storage (patchset #4 id:80001 of https://codereview.chromium.org/980573002/)
      
      Reason for revert:
      x64 test failures
      
      Original issue's description:
      > Simplify and compact transitions storage
      >
      > Simple transitions are now stored in a map's "transitions" field (as a WeakCell wrapping the target map); full TransitionArrays are used when that's not sufficient.
      > To encapsulate these storage format implementation details, functions for manipulating and querying transitions have been refactored to be static functions on the TransitionArray class, and take maps as inputs.
      >
      > Committed: https://crrev.com/45fbef7f2252fce10634931cb103ccc1fc95ae6a
      > Cr-Commit-Position: refs/heads/master@{#27029}
      
      TBR=verwaest@chromium.org,ulan@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      
      Review URL: https://codereview.chromium.org/982143002
      
      Cr-Commit-Position: refs/heads/master@{#27030}
      948a973d
    • jkummerow's avatar
      Simplify and compact transitions storage · 45fbef7f
      jkummerow authored
      Simple transitions are now stored in a map's "transitions" field (as a WeakCell wrapping the target map); full TransitionArrays are used when that's not sufficient.
      To encapsulate these storage format implementation details, functions for manipulating and querying transitions have been refactored to be static functions on the TransitionArray class, and take maps as inputs.
      
      Review URL: https://codereview.chromium.org/980573002
      
      Cr-Commit-Position: refs/heads/master@{#27029}
      45fbef7f
  31. 12 Dec, 2014 1 commit
  32. 10 Dec, 2014 1 commit
    • adamk's avatar
      Optimize Object.seal and Object.preventExtensions · 4fa7ae1c
      adamk authored
      They both now run fast (due to utilizing transitions instead of always
      creating new maps) and sealed or non-extensible objects can stay in
      fast mode after transitioning.
      
      This almost entirely reuses the code for transitioning objects
      frozen by Object.freeze(), with the added benefit of freeing
      up a bit on the map (we no longer keep track of frozen-ness,
      as that bit wasn't used for anything interesting).
      
      BUG=v8:3662,chromium:115960
      LOG=y
      
      Review URL: https://codereview.chromium.org/776143005
      
      Cr-Commit-Position: refs/heads/master@{#25759}
      4fa7ae1c