1. 21 Jan, 2016 3 commits
    • balazs.kilvady's avatar
      MIPS64: Use the Lsa() and Dlsa() macros/r6 instructions in existing code. · b3517e2b
      balazs.kilvady authored
      BUG=
      
      Review URL: https://codereview.chromium.org/1605093002
      
      Cr-Commit-Position: refs/heads/master@{#33430}
      b3517e2b
    • zhengxing.li's avatar
      X87: [for-in] Sanitize for-in optimizations and fix bailout points. · 512d8286
      zhengxing.li authored
        port f48bf12f (r33426)
      
        original commit message:
        The PrepareId bailout location was used incorrectly in Crankshaft and,
        as it turns out, is not required anyway (once you do it right). Also
        there was some premature optimization going on with the CheckEnumCache
        (trying to load null from roots only once), plus we can be smarter about
        the null/undefined check anyway.
      
        The idea behind this changes is to prepare unification of the two
        different ForInPrepare implementations that we now have, with the end
        result being that we only use the new implementation that was recently
        added for the interpreter.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1611113002
      
      Cr-Commit-Position: refs/heads/master@{#33428}
      512d8286
    • bmeurer's avatar
      [for-in] Sanitize for-in optimizations and fix bailout points. · f48bf12f
      bmeurer authored
      The PrepareId bailout location was used incorrectly in Crankshaft and,
      as it turns out, is not required anyway (once you do it right). Also
      there was some premature optimization going on with the CheckEnumCache
      (trying to load null from roots only once), plus we can be smarter about
      the null/undefined check anyway.
      
      The idea behind this changes is to prepare unification of the two
      different ForInPrepare implementations that we now have, with the end
      result being that we only use the new implementation that was recently
      added for the interpreter.
      
      R=jarin@chromium.org
      BUG=v8:3650
      LOG=n
      
      Review URL: https://codereview.chromium.org/1618613002
      
      Cr-Commit-Position: refs/heads/master@{#33426}
      f48bf12f
  2. 19 Jan, 2016 2 commits
  3. 12 Jan, 2016 6 commits
  4. 08 Jan, 2016 1 commit
  5. 07 Jan, 2016 1 commit
  6. 05 Jan, 2016 3 commits
  7. 04 Jan, 2016 4 commits
  8. 30 Dec, 2015 2 commits
    • cbruni's avatar
      [runtime] TailCallRuntime and CallRuntime should use default argument · b889d79d
      cbruni authored
      counts specified in runtime.h.
      
      In the vast majority of the cases when we call into the runtime we use
      the default number of arguments. Hence, there is not need to specify it
      again. This CL also removes TailCallExternalReference as there were no
      users.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1553703002
      
      Cr-Commit-Position: refs/heads/master@{#33066}
      b889d79d
    • mbrandy's avatar
      PPC: [runtime] Introduce dedicated JSBoundFunction to represent bound functions. · 974e50ba
      mbrandy authored
      Port 97def807
      
      Original commit message:
          According to the ES2015 specification, bound functions are exotic
          objects, and thus don't need to be implemented as JSFunctions. So
          we introduce a new JSBoundFunction type to represent bound functions
          and make them optimizable. This already improves the performance of
          calling or constructing bound functions by 10-100x depending on the
          use case because we avoid the crazy dance between JavaScript and C++
          that was implemented in v8natives.js previously.
      
          There's still room for improvement in the performance of actually
          creating bound functions, which is also relevant in practice, but
          we already have a plan how to accomplish that later.
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=chromium:535408, chromium:571299, v8:4629
      LOG=n
      
      Review URL: https://codereview.chromium.org/1559473002
      
      Cr-Commit-Position: refs/heads/master@{#33064}
      974e50ba
  9. 28 Dec, 2015 1 commit
    • zhengxing.li's avatar
      X87: [runtime] Introduce dedicated JSBoundFunction to represent bound functions. · 37d1dd82
      zhengxing.li authored
        port 97def807 (r33044)
      
        original commit message:
        According to the ES2015 specification, bound functions are exotic
        objects, and thus don't need to be implemented as JSFunctions. So
        we introduce a new JSBoundFunction type to represent bound functions
        and make them optimizable. This already improves the performance of
        calling or constructing bound functions by 10-100x depending on the
        use case because we avoid the crazy dance between JavaScript and C++
        that was implemented in v8natives.js previously.
      
        There's still room for improvement in the performance of actually
        creating bound functions, which is also relevant in practice, but
        we already have a plan how to accomplish that later.
      
        The mips/mips64 ports were contributed by akos.palfi@imgtec.com.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1548253002
      
      Cr-Commit-Position: refs/heads/master@{#33046}
      37d1dd82
  10. 27 Dec, 2015 2 commits
    • bmeurer's avatar
      [runtime] Introduce dedicated JSBoundFunction to represent bound functions. · 97def807
      bmeurer authored
      According to the ES2015 specification, bound functions are exotic
      objects, and thus don't need to be implemented as JSFunctions. So
      we introduce a new JSBoundFunction type to represent bound functions
      and make them optimizable. This already improves the performance of
      calling or constructing bound functions by 10-100x depending on the
      use case because we avoid the crazy dance between JavaScript and C++
      that was implemented in v8natives.js previously.
      
      There's still room for improvement in the performance of actually
      creating bound functions, which is also relevant in practice, but
      we already have a plan how to accomplish that later.
      
      The mips/mips64 ports were contributed by akos.palfi@imgtec.com.
      
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      BUG=chromium:535408, chromium:571299, v8:4629
      LOG=n
      
      Committed: https://crrev.com/ca8623eaa468cba65a5adafcdfb4615966f43ce2
      Cr-Commit-Position: refs/heads/master@{#33042}
      
      Review URL: https://codereview.chromium.org/1542963002
      
      Cr-Commit-Position: refs/heads/master@{#33044}
      97def807
    • bmeurer's avatar
      Revert of [runtime] Introduce dedicated JSBoundFunction to represent bound... · 1cf8b105
      bmeurer authored
      Revert of [runtime] Introduce dedicated JSBoundFunction to represent bound functions. (patchset #14 id:260001 of https://codereview.chromium.org/1542963002/ )
      
      Reason for revert:
      Breaks arm64 sim nosnap: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug/builds/805/steps/Check/logs/function-bind
      
      Original issue's description:
      > [runtime] Introduce dedicated JSBoundFunction to represent bound functions.
      >
      > According to the ES2015 specification, bound functions are exotic
      > objects, and thus don't need to be implemented as JSFunctions. So
      > we introduce a new JSBoundFunction type to represent bound functions
      > and make them optimizable. This already improves the performance of
      > calling or constructing bound functions by 10-100x depending on the
      > use case because we avoid the crazy dance between JavaScript and C++
      > that was implemented in v8natives.js previously.
      >
      > There's still room for improvement in the performance of actually
      > creating bound functions, which is also relevant in practice, but
      > we already have a plan how to accomplish that later.
      >
      > The mips/mips64 ports were contributed by akos.palfi@imgtec.com.
      >
      > CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      > BUG=chromium:535408, chromium:571299, v8:4629
      > LOG=n
      >
      > Committed: https://crrev.com/ca8623eaa468cba65a5adafcdfb4615966f43ce2
      > Cr-Commit-Position: refs/heads/master@{#33042}
      
      TBR=cbruni@chromium.org,hpayer@chromium.org,yangguo@chromium.org,akos.palfi@imgtec.com
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=chromium:535408, chromium:571299, v8:4629
      
      Review URL: https://codereview.chromium.org/1552473002
      
      Cr-Commit-Position: refs/heads/master@{#33043}
      1cf8b105
  11. 26 Dec, 2015 1 commit
    • bmeurer's avatar
      [runtime] Introduce dedicated JSBoundFunction to represent bound functions. · ca8623ea
      bmeurer authored
      According to the ES2015 specification, bound functions are exotic
      objects, and thus don't need to be implemented as JSFunctions. So
      we introduce a new JSBoundFunction type to represent bound functions
      and make them optimizable. This already improves the performance of
      calling or constructing bound functions by 10-100x depending on the
      use case because we avoid the crazy dance between JavaScript and C++
      that was implemented in v8natives.js previously.
      
      There's still room for improvement in the performance of actually
      creating bound functions, which is also relevant in practice, but
      we already have a plan how to accomplish that later.
      
      The mips/mips64 ports were contributed by akos.palfi@imgtec.com.
      
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      BUG=chromium:535408, chromium:571299, v8:4629
      LOG=n
      
      Review URL: https://codereview.chromium.org/1542963002
      
      Cr-Commit-Position: refs/heads/master@{#33042}
      ca8623ea
  12. 24 Dec, 2015 1 commit
    • zhengxing.li's avatar
      X87: Partial revert of rest parameter desugaring. · d9cfa729
      zhengxing.li authored
        port d3f074b2 (r33024)
      
        original commit message:
        We'll be able to optimize rest parameters in TurboFan similarly to the arguments array. This CL restores the previous behavior, and a follow-on will enable TurboFan optimization.
      
        (TBR for rossberg since we discussed the revert beforehand. The only changes are a few lines related to tests and rebasing.)
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1545053002
      
      Cr-Commit-Position: refs/heads/master@{#33034}
      d9cfa729
  13. 23 Dec, 2015 2 commits
    • mbrandy's avatar
      PPC: Partial revert of rest parameter desugaring. · fc23b494
      mbrandy authored
      Port d3f074b2
      
      Original commit message:
          We'll be able to optimize rest parameters in TurboFan similarly to
          the arguments array. This CL restores the previous behavior, and a
          follow-on will enable TurboFan optimization.
      
      R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1549743003
      
      Cr-Commit-Position: refs/heads/master@{#33028}
      fc23b494
    • mvstanton's avatar
      Partial revert of rest parameter desugaring. · d3f074b2
      mvstanton authored
      We'll be able to optimize rest parameters in TurboFan similarly to the arguments array. This CL restores the previous behavior, and a follow-on will enable TurboFan optimization.
      
      (TBR for rossberg since we discussed the revert beforehand. The only changes are a few lines related to tests and rebasing.)
      
      TBR=rossberg@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/1537683002
      
      Cr-Commit-Position: refs/heads/master@{#33024}
      d3f074b2
  14. 18 Dec, 2015 1 commit
    • mbrandy's avatar
      PPC: [runtime] Drop FIRST/LAST_NONCALLABLE_SPEC_OBJECT instance type range. · 5c33ac6c
      mbrandy authored
      Port aafc3e54
      
      Original commit message:
          The FIRST-LAST_NONCALLABLE_SPEC_OBJECT_TYPE range was accidentially used
          in field type tracking, where we should check for JSReceiver instead
          (there's no need to exclude JSProxy or JSFunction from tracking).
      
          And the use in %_ClassOf was actually wrong and didn't match the C++
          implementation in JSReceiver::class_name() anymore. Now it's consistent
          again.
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=chromium:535408
      LOG=n
      
      Review URL: https://codereview.chromium.org/1537013002
      
      Cr-Commit-Position: refs/heads/master@{#32973}
      5c33ac6c
  15. 17 Dec, 2015 3 commits
  16. 16 Dec, 2015 2 commits
  17. 15 Dec, 2015 1 commit
  18. 14 Dec, 2015 1 commit
  19. 11 Dec, 2015 3 commits