1. 08 Mar, 2016 2 commits
    • caitpotter88's avatar
      [esnext] use map instance_descriptors() when possible in Object.values/entries() · cee0dca2
      caitpotter88 authored
      When possible (non-Proxy receiver, expecting only String-names), walk the instance_descriptors() array rather than performing [[OwnPropertyKeys]]. If the map changes during a call to an accessor property, resort to a slower property lookup.
      
      For now, the fast path is not taken if the object contains any element keys.
      
      Offers a measurable improvement over the existing version, in select situations.
      
      BUG=v8:4663
      LOG=N
      R=cbruni@chromium.org, verwaest@chromium.org, adamk@chromium.org
      
      Review URL: https://codereview.chromium.org/1751643003
      
      Cr-Commit-Position: refs/heads/master@{#34567}
      cee0dca2
    • ishell's avatar
      [turbofan] Further fixing ES6 tail call elimination in Turbofan. · 2aae579c
      ishell authored
      In case when F tail calls G we should also remove the potential arguments adaptor frame for F.
      
      This CL introduces two new machine instructions ArchTailCallCodeObjectFromJSFunction and ArchTailCallJSFunctionFromJSFunction which (unlike existing ArchTailCallCodeObject and ArchTailCallJSFunction) also drop arguments adaptor frame if it exists right before jumping to the target function.
      
      BUG=v8:4698
      LOG=N
      
      Review URL: https://codereview.chromium.org/1702423002
      
      Cr-Commit-Position: refs/heads/master@{#34566}
      2aae579c
  2. 07 Mar, 2016 38 commits