1. 09 Apr, 2015 5 commits
    • hablich's avatar
      Revert of Revert of X87: Reimplement Maps and Sets in JS (patchset #1 id:1 of... · eacb0de8
      hablich authored
      Revert of Revert of X87: Reimplement Maps and Sets in JS (patchset #1 id:1 of https://codereview.chromium.org/1073723002/)
      
      Reason for revert:
      Revert the revert as this commit cannot be the cause for the closed tree.
      
      Original issue's description:
      > Revert of X87: Reimplement Maps and Sets in JS (patchset #1 id:1 of https://codereview.chromium.org/1066373002/)
      >
      > Reason for revert:
      > Reverting as it resulted in a closed waterfall.
      >
      > Original issue's description:
      > > X87: Reimplement Maps and Sets in JS
      > >
      > > port 909500aa (r27605)
      > >
      > > original commit message:
      > >     Previously, the only optimized code path for Maps and Sets was for String keys.
      > >     This was achieved through an implementation of various complex operations
      > >     in Hydrogen. This approach was neither scalable nor forward-compatible.
      > >
      > >     This patch adds the necessary intrinsics to implement Maps and Sets almost entirely
      > >     in JS. The added intrinsics are:
      > >
      > >       %_FixedArrayGet
      > >       %_FixedArraySet
      > >       %_TheHole
      > >       %_JSCollectionGetTable
      > >       %_StringGetRawHashField
      > >
      > >     With these additions, as well as a few changes to what's exposed as runtime functions,
      > >     most of the C++ code backing Maps and Sets is gone (including both runtime code in
      > >     objects.cc and Crankshaft in hydrogen.cc).
      > >
      > > BUG=
      > >
      > > Committed: https://crrev.com/56600a35a49ffa5abcba66b14839089de3589ad9
      > > Cr-Commit-Position: refs/heads/master@{#27681}
      >
      > TBR=weiliang.lin@intel.com,chunyang.dai@intel.com
      > NOPRESUBMIT=true
      > NOTREECHECKS=true
      > NOTRY=true
      > BUG=
      >
      > Committed: https://crrev.com/a0486f128109443ed07802fb463c267e53533d81
      > Cr-Commit-Position: refs/heads/master@{#27682}
      
      TBR=weiliang.lin@intel.com,chunyang.dai@intel.com
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=
      
      Review URL: https://codereview.chromium.org/1077543002
      
      Cr-Commit-Position: refs/heads/master@{#27685}
      eacb0de8
    • chunyang.dai's avatar
      X87: JSEntryTrampoline: check for stack space before pushing arguments · c8521794
      chunyang.dai authored
      port 146598f4 (r27614)
      
      original commit message:
      
        Optimistically pushing a lot of arguments can run into the stack limit of the
        process, at least on operating systems where this limit is close to the limit
        that V8 sets for itself.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1069283002
      
      Cr-Commit-Position: refs/heads/master@{#27684}
      c8521794
    • jing.bao's avatar
      [ia32] Introduce BMI instructions. · dba47f64
      jing.bao authored
      BUG=v8:4015
      LOG=n
      
      Review URL: https://codereview.chromium.org/1069683002
      
      Cr-Commit-Position: refs/heads/master@{#27683}
      dba47f64
    • hablich's avatar
      Revert of X87: Reimplement Maps and Sets in JS (patchset #1 id:1 of... · a0486f12
      hablich authored
      Revert of X87: Reimplement Maps and Sets in JS (patchset #1 id:1 of https://codereview.chromium.org/1066373002/)
      
      Reason for revert:
      Reverting as it resulted in a closed waterfall.
      
      Original issue's description:
      > X87: Reimplement Maps and Sets in JS
      >
      > port 909500aa (r27605)
      >
      > original commit message:
      >     Previously, the only optimized code path for Maps and Sets was for String keys.
      >     This was achieved through an implementation of various complex operations
      >     in Hydrogen. This approach was neither scalable nor forward-compatible.
      >
      >     This patch adds the necessary intrinsics to implement Maps and Sets almost entirely
      >     in JS. The added intrinsics are:
      >
      >       %_FixedArrayGet
      >       %_FixedArraySet
      >       %_TheHole
      >       %_JSCollectionGetTable
      >       %_StringGetRawHashField
      >
      >     With these additions, as well as a few changes to what's exposed as runtime functions,
      >     most of the C++ code backing Maps and Sets is gone (including both runtime code in
      >     objects.cc and Crankshaft in hydrogen.cc).
      >
      > BUG=
      >
      > Committed: https://crrev.com/56600a35a49ffa5abcba66b14839089de3589ad9
      > Cr-Commit-Position: refs/heads/master@{#27681}
      
      TBR=weiliang.lin@intel.com,chunyang.dai@intel.com
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=
      
      Review URL: https://codereview.chromium.org/1073723002
      
      Cr-Commit-Position: refs/heads/master@{#27682}
      a0486f12
    • chunyang.dai's avatar
      X87: Reimplement Maps and Sets in JS · 56600a35
      chunyang.dai authored
      port 909500aa (r27605)
      
      original commit message:
          Previously, the only optimized code path for Maps and Sets was for String keys.
          This was achieved through an implementation of various complex operations
          in Hydrogen. This approach was neither scalable nor forward-compatible.
      
          This patch adds the necessary intrinsics to implement Maps and Sets almost entirely
          in JS. The added intrinsics are:
      
            %_FixedArrayGet
            %_FixedArraySet
            %_TheHole
            %_JSCollectionGetTable
            %_StringGetRawHashField
      
          With these additions, as well as a few changes to what's exposed as runtime functions,
          most of the C++ code backing Maps and Sets is gone (including both runtime code in
          objects.cc and Crankshaft in hydrogen.cc).
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1066373002
      
      Cr-Commit-Position: refs/heads/master@{#27681}
      56600a35
  2. 08 Apr, 2015 35 commits