1. 10 Aug, 2017 1 commit
  2. 13 Jul, 2017 1 commit
  3. 30 Jun, 2017 1 commit
    • Mathias Bynens's avatar
      [elements] Rename FAST elements kinds · 26c00f4a
      Mathias Bynens authored
      The `FAST_` prefix doesn’t make much sense — they’re all just different cases
      with their own optimizations. Packedness being implicit (e.g. `FAST_ELEMENTS`
      vs. `FAST_HOLEY_ELEMENTS`) is not ideal, either.
      
      This patch renames the FAST elements kinds as follows:
      
      - e.g. FAST_ELEMENTS => PACKED_ELEMENTS
      - e.g. FAST_HOLEY_ELEMENTS => HOLEY_ELEMENTS
      
      The following exceptions are left intact, for lack of a better name:
      
      - FAST_SLOPPY_ARGUMENTS_ELEMENTS
      - SLOW_SLOPPY_ARGUMENTS_ELEMENTS
      - FAST_STRING_WRAPPER_ELEMENTS
      - SLOW_STRING_WRAPPER_ELEMENTS
      
      This makes it easier to reason about elements kinds, and less confusing to
      explain how they’re used.
      
      R=jkummerow@chromium.org, cbruni@chromium.org
      BUG=v8:6548
      
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Ie7c6bee85583c3d84b730f7aebbd70c1efa38af9
      Reviewed-on: https://chromium-review.googlesource.com/556032Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Mathias Bynens <mathias@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46361}
      26c00f4a
  4. 02 May, 2017 2 commits
  5. 28 Apr, 2017 1 commit
  6. 15 Mar, 2017 1 commit
    • leszeks's avatar
      [test] Fix mjsunit/getters-on-elements to reset function state · 2b1ed944
      leszeks authored
      The function "foo" in "base_getter_test" was picking up a left-over
      optimised code object from foo's code map, the third time that
      base_getter_test was run, instead of optimising it itself. This
      broke the assumptions of the test, that each case was functionally
      independent from the others, and had started off with empty feedback
      and no optimised code.
      
      This breaks the test though, so we have to blacklist it pending a fix
      to the root cause (http://crbug.com/v8/6101).
      
      Review-Url: https://codereview.chromium.org/2750623004
      Cr-Commit-Position: refs/heads/master@{#43828}
      2b1ed944
  7. 15 Feb, 2017 1 commit
  8. 26 Jan, 2017 1 commit
  9. 22 Oct, 2014 1 commit
  10. 11 Feb, 2014 1 commit
  11. 06 Nov, 2013 1 commit
    • mvstanton@chromium.org's avatar
      Correct handling of arrays with callbacks in the prototype chain. · cec8548d
      mvstanton@chromium.org authored
      Our generic KeyedStoreIC doesn't handle the case when a callback is
      set on array elements in the prototype chain of the object, nor do
      we recognize that we need to avoid the monomorphic case if these
      callbacks exist.
      
      This CL addresses the issue by looking for dictionary elements in
      the prototype chain on IC misses and crankshaft element store
      instructions. When found, the generic IC is used. The generic IC is
      changed to go to the runtime in this case too.
      
      In general, keyed loads are immune from this problem because they
      won't return the hole: discovery of the hole goes to the runtime where
      the callback will be found in the prototype chain. Double array loads
      in crankshaft can return the hole but only if the prototype chain is
      unaltered (we will catch such alterations).
      
      Includes the following patch as well (already reviewed by bmeurer):
      Performance regression found in test regress-2185-2.js. The problem was
      that the bailout method for TransitionAndStoreStub was not performing
      the appropriate transition.
      
      (Review URL for the ElementsTransitionAndStoreIC_Miss change:
      https://codereview.chromium.org/26911007)
      
      R=danno@chromium.org
      
      Review URL: https://codereview.chromium.org/35413006
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      cec8548d